C ++で単一の関数をラインプロファイリングするためにgprofを使用することは可能ですか?
何かのようなもの:
gprof -l -F function_name ...
、うまくいかないようです。
これはvalgrindで簡単に実行できます。開発環境で使用する機会があれば、素晴らしいツールです。グラフィカル インターフェイスkcachegrindもあります。
[symspec]オプションを使用して結果をフィルタリングしてみてください。gprof 2.18.0 では、-Fと-fは推奨されておらず、代わりに symspec を使用するように指示されています。
また、-lは、新しいバージョンの gcc でコンパイルされたバイナリでは機能しない場合があります。代わりにgcovを試してください。
疑わしいパフォーマンスの問題を探していますか? それがどこにあるかという先入観を持っているなら、それはそこにない可能性があります。パフォーマンスの問題を本当に見つけたい場合は、まず、 gprofによって永続化されたいくつかの神話を超えて調べる必要がある場合があります。