Life Goes On

まあまあだけど楽しんでる方です

Haskell(GHC)でのプロファイルのとりかた

いつも忘れて、その度にぐぐってるので、メモ。
コンパイル時に -prof -auto-all オプションをつける

ghc --make -prof -auto-all hoge.hs

実行時に、+RTS -p オプションをつけて、出力される 〜.prof ファイルを読む

./hoge.exe +RTS -p -RTS

特定の式のコストを見たいときは、ソースコード中でコスト集約点を指定(Set Cost Center)する

hoge = {-# SCC "hoge" #-} <expression>

詳しくは、第5章 プロファイルを取る を参照