私はCPUプロファイリングのためにgoogleのperftools(http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html)を使用しています。これは素晴らしいツールです。私のアプリケーション。C++プロファイリング/最適化:最適化された関数で精度の高いプロファイリング精度を得る方法
残念ながら、私は、コードがまだ少し遅いということを知りました。そして、g ++の-O3最適化レベルを使用してコンパイルすると、特定の関数は遅いですが、 。
-O3フラグを削除した場合、プログラムの最適化されていない部分がこの機能を追い越し、機能の実際の部分がはるかにはっきりしません。 -O3フラグをそのままにしておくと、関数の遅い部分がインライン展開され、関数のどの部分が遅いのかを判断できません。
提案がありますか?ご協力いただきありがとうございます!あなたは現在の時刻(またはCPUTIME)を測定様々なポイントステートメントで測定したいルーチンに
インサート:このような何かのために
私はCodeAnalystについて話すことができませんが、oprofileは素晴らしいです! opannotateコマンドは、あなたが記述したのと同じように私にソース行アノテーションを与えました。ありがとう! – Adam
CodeAnalystは、特別なバージョンのoprofile上のGUIです。 LinuxではCodeAnalystを使用することもできます。 – Carlos