2016-05-16 4 views
9

GHCプロファイリングツールを使用していくつかのHaskellコードをプロファイルしようとしています。しかし、私が最も興味を持っているコストセンターは、現在私が心配していない初期化コードの束によって支配されています。GHCで単一の関数(またはコストセンター)のみをプロファイルする

私のコードは、大きく見え、次のように:私の実際のコードで

​​

lotsOfInitialization部分は時間の〜98%を取っているので、それはinterestingPart内部で何が起こっているか任意の粒度で参照することは困難です。

私は1つの場所に注釈を付けるだけで十分だと思っていましたが(-fprof-autoを使用しないでください)、私はまだレポートにすべての関数呼び出しを表示しています。

xでも厳密な注釈を試しましたが、それは何も変更されていないようです。

GHCに初期化コードを無視するよう指示する方法はありますか?

答えて

2

ghc manualによれば、特定のコストセンターでヒーププロファイリングを行うことができます。 -hc⟨name⟩または-hy⟨typeusingを使用します。

私は時間プロファイリングに類似した解決策を見つけることができませんでした。

EDIT:

私はactuall便利あなたが配分や時間プロファイリングの両方のために必要なものを行うための方法を見つけるために管理しました。 .profファイルにprofiteurビジュアライザーを使用すると、特定のコストセンターのパフォーマンスプロファイルをきれいに整形されたツリーマップとして見ることができます。

関連する問題