gprofを使用してプロファイルをしようと思ったが、
http://steps.dodgson.org/bn/2007/08/23/
によると、gprofは、周期的にpcの値を読み込んで時間を測定しているようだ。
それだと、処理時間がusec単位の処理だと、どこにボトルネックがあるかわからない。
Flat profile:
Eache sample counts as 0.01 seconds.
no time accumulated
と表示されて、なにも表示されなかった。
原因は、共有ライブラリをリンクしていることにあるっぽい。
ライブラリ側も CFLAGやLDFLAGに、-pgをつけてビルドするが、実行すると、なにも表示されない。
解決方法の一つは、実行ファイルを-staticとして実行ファイルを作成すると、
Eache sample counts as 0.01 seconds.
no time accumulated
と表示されるが、Call回数や、Call graphが表示された。
http://steps.dodgson.org/bn/2007/08/23/
によると、gprofは、周期的にpcの値を読み込んで時間を測定しているようだ。
それだと、処理時間がusec単位の処理だと、どこにボトルネックがあるかわからない。
コメント
コメントを投稿