valgrindを使用してコードを分析したいと考えています。問題は、興味のない巨大な起動シーケンスがあることです。
valgrind/callgrind.hで定義が見つかりました。
- CALLGRIND_START_INSTRUMENTATION
- CALLGRIND_STOP_INSTRUMENTATION
- CALLGRIND_DUMP_STATS
この記事によると、次のオプションでvalgrindを実行する必要があります。
valgrind --tool=callgrind --instr-atstart=no ./application
これを行うと、次の 2 つのファイルが作成されます。
- callgrind.out.16060
- callgrind.out.16060.1
次に、kcachegrind を使用して結果を視覚化します。これはうまく機能しますが、スタートアップ シーケンスをスキップするためのマクロは何もしていないようです。測定したい場所だけでパフォーマンスを測定するにはどうすればよいですか?