問題タブ [gprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1695 参照

c - gprof コマンドで適切な out.txt が作成されない

まず、MacOSX 10.7.1 を実行しています。C言語で動作するように、Xcode 4とすべてのライブラリをすべて適切にインストールしました。

シェルで gprof コマンドを実行できません。私が行っていることと、受け取っている出力について、順を追って説明します。

ステップ1:

出力 (ステップ 1):

ステップ2:

出力 (ステップ 2):

ステップ 3:

出力 (ステップ 3):

ステップ 4:

出力 (ステップ 4):

ステップ 5:

出力 (ステップ 5):

ついに。出力ファイルは次のようになります。

そして、空白のフィールドが表示されます。

ここで検索しましたが、役立つものは何も見つかりませんでした。私はそれをグーグルで検索しましたが、同じことです。

誰かが私を助けてくれれば、とても感謝しています。

0 投票する
1 に答える
3303 参照

c++ - gprof の出力を解釈する方法

gprof を使用してプログラムのプロファイルを作成したところ、次のようになりました。

= 演算子を使用して 100.01% の時間を使用していると言われているので、これは私を混乱させます。これは、データをずっとコピーしているだけで、プログラムが使用できるメモリ量に制限があることを意味していると思いますか?

0 投票する
2 に答える
3670 参照

c++ - gprof - ファイルにコールグラフ データがありません

gprof を使い始めたばかりで、コール グラフを生成しようとしています。メイクファイルの設定に cmake を使用しており、プロファイリングを有効にするために CMAKE_EXE_LINKER_FLAGS = -gp を設定しています。私が有効にした cxx フラグは -g だけです。

次に、gmon.out ファイルで gprof を呼び出すだけです。

生成された出力ファイルには、呼び出し、自己 ts/呼び出し、および合計 ts/呼び出しがすべて空であるフラット プロファイルのみがあります。

さらに重要なことは、コールグラフを生成しないことです。gprof を実行してコール グラフを生成するときに -q を明示的に指定しようとすると、「ファイルにコール グラフ データがありません」と表示されます。

ここで何が間違っているのかわかりません。これを修正するための指針をいただければ幸いです。

ありがとう。

0 投票する
2 に答える
195 参照

c++ - Gprofの結果:「alloc_mmap」とは何ですか?

私のプログラムの短期間の結果は次のとおりです。

lddからの出力は

誰かが「alloc_mmap」を識別できますか?

0 投票する
0 に答える
1107 参照

profiling - MinGW gprof 不正確な結果?

Linux(Ubuntu 11.04)およびWindows(7、MinGWの最新バージョン)でgprofを使用してプログラムをプロファイリングし、毎回ほぼ同じデータセットで同じプログラムを作成し、大幅に異なる結果を得ました。(重要なのは、コードのどの部分を最適化する必要があるかについて、異なる結論につながることです。)

2 つのシステムで結果が正当に異なる可能性はありますが、一方の結果セットが不正確であり、無視されるべきである可能性も考慮する必要があります。また、gprof はあまり広範囲にテストされていないため、先験的に MinGW である可能性が高くなります。 Linux よりも Windows。その結論に対するより強力な議論は、Windows での結果が明らかに奇妙に見えるということです。

多くのギャップがあり、その後initparse、ほとんど何も呼び出さない 1 回だけ呼び出される初期化関数である は、1 億 4,500 万回呼び出されたと報告されています。

Windows の結果を無視して、Linux の結果だけを使用する必要がありますか? または、パーセンテージ時間の結果に影響しない、Windows での呼び出し数のレポートに問題がありますか? または、出力を読み間違えているか、ツールを誤用していますか?

0 投票する
3 に答える
742 参照

c - GCC Compiling options syntax

I am trying to gprof my program. I want a line-by-line profiling. However, I can't seem to get the syntax right. I am using "make" and not "gcc" so please help only with suggestions that fit make. I wouldbe very grateful if you can give me the full "make" syntax. Based on this website: http://sourceware.org/binutils/docs/gprof/Output-Options.html[^] http://sourceware.org/binutils/docs/gprof/Line_002dby_002dline.html[^] Here is what I am inputting:

The output is:

I need option "-l", "-g" and "-pg".

0 投票する
1 に答える
382 参照

c - solaris での gprof の出力を理解する

gprof.so を学習しようと思ったので、簡単なプログラムから始めました。以下のcで小さなプログラムを作成しました。

-pg オプションを使用してプログラムをコンパイルしました。そして、それを実行して、正常に機能することを確認しました。

それから私はやった

これにより、痛風ファイルが作成されます。痛風ファイル内には、以下の情報が表示されます。

私は60秒の睡眠時間を与えました。gprof の出力に 60 秒が表示されません。おそらく出力内に隠されていると思います。gprofの出力を理解するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
181 参照

c++ - grpof -pgオプションを追加すると、マルチスレッドアプリケーションが非マルチスレッドになります

マルチスレッドアプリケーションのパフォーマンスをプロファイリングしようとしています。

そこで、コンパイル時に「-pg」オプションを追加しました。

スレッドプールで固定数のスレッドを使用しています。4つのCPUコアがある場合、12 + 1=13のスレッドが実行されます。

私にとって大きな驚きは、「-pg」オプションを追加した後、実行中のスレッドが1つだけで、他のスレッドがまったく実行されていないことです(topコマンドのステータス「S」)。

それで、これに対する解決策はありますか?

これは何か関係がありますか: http ://sam.zoy.org/writings/programming/gprof.html

ありがとう。

ピーター

0 投票する
1 に答える
569 参照

c - 「-pg」でコンパイルされたプログラムがまだ実行されているときに、その統計情報を強制的にダンプする方法は?

非オープンソース ライブラリを使用して C++(g++) で開発しています。プログラムを実行するたびに、lib がクラッシュします (一部のメモリが二重に解放されます)。

これで私のプログラムは問題ありません。しかし、プロファイリングには悪いです。プログラムのプロファイリングには -pg を使用します。クラッシュの結果、「gmon.out」は生成されません。だから私はそれをまったくプロファイルすることはできません。

質問: (gprof を使用して)「異常な」プログラムをプロファイリングする方法。

PS。valgrind は、クラッシュしたプログラムを分析するのに問題ありません。

よろしく!

0 投票する
0 に答える
3318 参照

c++ - 静的メンバーをキーとする g++ gprof グローバル コンストラクター

g++ でコンパイルされた Linux で C++ アプリをプロファイリングしています。

gprof の出力では、次の重要な使用統計を取得しています。

ここで、_ZN4CGps14ms_OutputNamesE は、クラスの 1 つの静的メンバーの修飾名です。これは std::strings の配列です:

これがアプリの開始時に一度も構築されていないことに少し驚いています。ある種のガード変数または最初の使用チェックが行われていますか? これを最適化するにはどうすればよいですか?