2011-07-25 16 views
2

私はファイルtest.cにCコードを持っています。grofを使用してプロファイルしなければなりません。以下のコマンドを使用しています。Linuxでgprofを使用するには?

`フラットプロファイル:0.01秒として 各サンプル数を次のように

gcc -p -o result test.c
./result
gprof result

出力のセクションには見えます。

%累積自己自己総
時間seconds秒を蓄積もう時間は、TS /呼び出すTS /コールNAME`

問題は関係なく、私は、各サンプルを使用しているもの、複雑または簡単なプログラムではありません呼び出すない数doesnの」時間が0.01秒から変化します。それはなぜ、時間が蓄積されずに様々な色で表示されているのですか?

+0

「しなければならない」とはどういう意味ですか? –

+0

他にもできることはありますか? 「持っていなければならない」ということは、プロファイルする必要があるということです。私は、gprofを使用する必要はありません。 – station

+0

さて、私は最適化するコードを見つけるという目的を持っているので、アプリは(できるだけ時間を測定するのとは対照的に)できるだけ早くです。[これは私のやり方です](http://stackoverflow.com/質問/ 375913/i-use-to-profile-c-code-in-linux/378024#378024)。私はこれをひどい時間をかけてやってきましたが、私はまだそれが明らかであるとは考えられていないと謎に陥っています。 –

答えて

2

gccに間違ったコマンドラインオプションを使用しています。 -pは別の古いプロファイラ用です。gprofの場合は-pgが必要です。 gprofは、サンプルベースのプロファイリングを使用しており、サンプルの取得に十分な時間がかかりませんでした。

+1

cpuの消費をプロファイリングする別の方法をお勧めしますか? –

関連する問題