とにかく gprof が使いにくいので他に何か、Mac なら Instruments があるんだけどな、と思ったら valgrind に callgrind があるのだった。


Install

Ubuntu:

$ sudo apt-get install valgrind kcachegrind

Mac:

$ brew install valgrind qcachegrind


How to run

$ valgrind --tool=callgrind ./a.out

callgrind.out.<PID> のようなファイルが生成される。

kcachegrind (or qcachegrind for mac) で可視化できる。

$ kcachegrind callgrind.out.26180

GUI環境が必要 (もしくは graphviz 出力)


How it looks like

Google it https://www.google.com/search?q=kcachegrind&tbm=isch