とにかく 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