gprof

gprofとは

gprof(gprof GNU Profiler)とは、プログラム中で使用される関数毎の実行回数や実行時間を分析して表示するプロファイラツールです。

プログラムにおける処理速度のボトルネックを特定するために利用します。


gprof使用方法

コンパイル時の使用準備

gprofを利用するためには、gccでのコンパイル処理に「-pg」オプションをつける必要があります。

「-pg」オプションを設定すると、プロファイル用情報を付加するため、実行ファイルのサイズは大きくなります。


gcc -pg -o program program.c

なお、HP-UXのccコンパイラでは「cc -G」と指定します。


gmon.outの作成(プログラムの実行)

プロファイル情報を取得するために、まずプログラムを実行します。

プログラムが正常終了すると、「gmon.out」というファイルが生成されます。

異常終了した時には gmon.out は生成されません。


解析結果を出力する

「gmon.out」を用いてgprofコマンドを実行します。

解析結果が標準出力に表示されますが、出力情報が多いのでリダイレクションなどでファイルに保存します。


gprof ./program  gmon.out > gmon.log



関連ページ