プロファイルについてのコンパイルオプション

-prof:

プロファイルシステムを使うには、全てのモジュールが-profオプション付きでコンパイルされ、-profオプションつきでリンクされていなければならない。ソース中の全てのSCC注釈が意味を持つようになる。

-profオプションが与えられていないとき、SCCは無視される。このため、SCCを満載したコードを変更せずにコンパイルできる。

この他にもいくつかプロファイルに関連したコンパイルオプションがある。これらは-prof併用すること。これらのオプションは全てのモジュールで一斉に使う必要はない。

-auto:

INLINE指定されていない全ての最上位のエクスポートされた関数に、GHCが_scc_を自動的に加える。INLINE関数に付属したコスト集約点が欲しい場合は、手動で付け加えなければならない。

-auto-all:

INLINE指定されていない全ての最上位の関数が、エクスポートされているかにかかわらず、自動的に_scc_化される。INLINE指定された関数には手動でコスト集約点を与えなければならない。

-caf-all:

一つのモジュール内の全てのCAFのコストは通常一つの「大きな」CAFというコスト集約点に割り当てられる。このオプションを使うと、全てのCAFが独自のコスト集約点を持つようになる。「他のことがうまくいかなかったら」試すオプションである。

-ignore-scc:

_scc_を全て無視する。従って、既に_scc_のあるモジュールを注釈を無視したままプロファイル用にコンパイルすることができる。