CPU負荷を測るツール、gprofを試したので、簡単にメモ。
gprofでプログラムの性能をしらべる
プログラムの性能情報を知ることができる(プロファイリングできる)ツール。
実行ファイルから、以下の情報を得ることができる。
-
実行時間
- 単位時間内に関数の呼ばれた回数
使い方
gprofはgccとともについてくるツールなので、とくにダウンロードは不要。
which gprofで見つかった。
ブロファイラ情報を得るには、ビルドするときに、以下のコンパイルオプションをつける。
-pg
MakefileだとCFLAGSに追加すればよい。
CFLAGS += 窶菟g
実行バイナリを実行すると、カレントフォルダにgmon.outというファイルができる。
このgmon.outに解析情報がはいっている。
解析結果を取り出すには、以下のコマンドを叩く。
gprof (実行ファイル).exe gmon.out
(実行ファイルはオブジェクトファイル(hogehoge.o)でもいい)
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 1001 0.00 0.00 buffer_over_run
0.00 0.00 0.00 1 0.00 0.00 buffer_over_run2
for文を1000回回してみたらこんな感じ。
その他メモ
Eclipseからgprofの解析結果を表示できるらしい。
試してみたが動かず。 どうやらCygwinは未対応?
https://wiki.eclipse.org/Linux_Tools_Project/GProf/User_Guide