80

Linux で C++ を実行しているコードをプロファイリングする必要があります。おすすめのプロファイラーを教えてください。

4

9 に答える 9

24

valgrindはよく知られている Linux プロファイラーです。

于 2009-07-22T23:06:33.200 に答える
13

RotateRight ( http://www.rotateright.com ) のズームは、私が使用しているものです。関数のバタフライ ビューがあり、任意の関数をダブルクリックして、ソース コードまたは asm コードに飛び込むことができます。ソースを表示するには、デバッグ情報 (-g) を使用してビルドしますが、最適化されたコードをビルドしてプロファイリングする必要があります。

于 2010-02-10T15:49:32.960 に答える
12

私はOprofileのファンです。カーネルモジュールをインストールする必要があり、少し学習曲線がありますが、かなり強力で、シンボルをデバッグせずに最適化されたプログラム/プログラムに対して非常にうまく機能します。

Vtuneは、Intel が作成したもう 1 つの非常に強力なプロファイラーです。非商用ソフトウェアの場合、Linux バージョンは無料だと思います。

dfa によって提案されたツールのValgrindスイートもあります。Callgrind はおそらくあなたが最も興味を持っているものでしょう。Cachegrind (その機能セットは Callgrind のサブセットです) と Massif も興味深いですが、私は後者の経験がありません。

于 2009-07-22T23:17:22.150 に答える
2

Sysprofを見てください。あなたのディストリビューションでは、すでに利用可能になっている可能性が最も高いです。

上記のすべてのプロファイラーは、アプリケーションがフレーム ポインターを使用してコンパイルされている場合に最適に機能することに注意してください。つまり、gcc コマンド ラインで -fno-omit-frame-pointer を使用する必要があります。

于 2013-02-24T09:56:20.350 に答える
2

gprof は、プロファイリング用の標準の gnu ツールです。

于 2009-07-22T23:25:39.403 に答える
0

これは私が使用するものです。

于 2009-08-09T00:59:21.100 に答える