WPR/xperfプロファイリング データをKCacheGrindにロードすることは可能ですか? または、 WPAで関数呼び出しを直接集約する方法はありますか? それとも他のツール?gprof2dot /graphvizルートが最良の選択肢でしょうか?
WPA は便利だと思いますが、「CPU 使用率 (サンプリング)」テーブルでスタックごとにグループ化すると、集計された関数呼び出し数で並べ替えることができないようです。たとえば、関数foo
が 10 の異なる場所から均等に呼び出された場合foo
、10 のコード パスのそれぞれがfoo
10% 以下の重みとして表示されるため、潜在的なボトルネックとして特定するのは困難です。KCacheGrind は、各関数の累積時間でソートできるようにすることで、この問題を解決します。
たとえば、malloc のような低レベルの共有関数をボトルネックとして特定するために、Windows でプロファイリングを使用して各関数で費やされた累積時間で並べ替えるにはどうすればよいですか?