Linux を使用しているため、gprof
プロファイラーは既にインストールされている可能性があります。の最も基本的な使用法は、オプションを使用gprof
してコンパイルすることです-pg
(この-g
オプションは、有益な出力を得るためにも必要です)。例えば
> gcc -g -pg -o my_executable my_file.c
これで、プログラムを通常どおり実行できます。それからあなたは走ります
> gprof my_executable > profile.txt
これにより、プロファイリング情報が に出力されprofile.txt
ます。このデータは少し似ています
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
33.34 0.02 0.02 7208 0.00 0.00 open
16.67 0.03 0.01 244 0.04 0.12 offtime
16.67 0.04 0.01 8 1.25 1.25 memccpy
16.67 0.05 0.01 7 1.43 1.43 write
16.67 0.06 0.01 mcount
0.00 0.06 0.00 236 0.00 0.00 tzset
0.00 0.06 0.00 192 0.00 0.00 tolower
0.00 0.06 0.00 47 0.00 0.00 strlen
0.00 0.06 0.00 45 0.00 0.00 strchr
0.00 0.06 0.00 1 0.00 50.00 main
0.00 0.06 0.00 1 0.00 0.00 memcpy
0.00 0.06 0.00 1 0.00 10.11 print
0.00 0.06 0.00 1 0.00 0.00 profil
0.00 0.06 0.00 1 0.00 50.00 report
[...]
また、各関数に関するいくつかのデータを読み取ることができます (たとえばopen
、7208 回呼び出され、実行に 0.02 秒が費やされました)。この例のデータは、このガイドから借用したものです。このガイドには、より多くの説明があり、プロファイリングを操作して行ごとのプロファイリングなどを取得する方法が説明されているため、読む必要があります。