AFAIKプロファイラは、各機能にどれくらいの時間が費やされているかだけを知ることができます。しかし、C++コンパイラはコードを積極的にインライン化する傾向があり、また、いくつかの関数がそれほど短くはないので、各構文がどれくらいの時間を消費するか、より詳細を知ることはしばしば役に立ちます。機能レベルを超えてコードをプロファイルするにはどうすればよいですか?
コードを小さな機能に再構成する以外は、どうすれば実現できますか?あなたはサンプリングプロファイラ(例えばZoomまたはShark)ではなく、インストルメントプロファイラ(例えばgprofを)を使用している場合
++試してみるか、** stack **サンプルをランダムに取得する任意のプロファイラ** wall-clock ** times、気になる**インターバル**で** line ofコード** **に表示されるサンプルの**パーセント。 [ここに理由のリストがあります。](http://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343)プロファイラがどれだけ「取得」しないかは驚くべきことです。 –
@sharptooth:ラインパーセンテージウォールタイムスタックサンプラーを効果的にするのは、(IMHO)よりも効果的な[手動方法]を自動化することです(http://stackoverflow.com/questions/375913/what-can -i-use-to-profile-c-code-in-linux/378024#378024) - ランダムな一時停止。 –