問題タブ [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.
linux - プロファイル データの場所を指定する任意の方法
実行可能ファイルからのデフォルトのプロファイル ファイルが実行され、ファイルの名前はgmon.out
. 新しい場所を指定する方法はありますか?
i386/linux2.6でgcc 3.4.6を使用しています
c++ - 紛らわしいgprof出力
に従って、gprof
を受け取る C++ プログラムを実行したところ、出力の最初の行で次のようになりました。16.637s
time()
数秒31.07%
しかかからなかったのに、なぜ時間がリストされるのですか? .32
これは通話時間ですか?(self s/call ではないでしょうか?)
を使うのはこれが初めてgprof
なので、親切にしてください:)
編集: 下にスクロールすると、gprof は私のプログラムが 1.03 秒しかかからないと考えているようです。なぜそれがそれほど間違っているのでしょうか?
c++ - gcc での仮想関数呼び出しの高速化
gprof を使用して C++ コードのプロファイリングを行ったところ、時間のかなりの部分が 1 つの仮想メソッドを何度も呼び出すことに費やされていることがわかりました。メソッド自体は短く、仮想でない場合はおそらくインライン化できます。
仮想にならないようにすべて書き直す以外に、これを高速化する方法は何ですか?
c - ソースを変更せずにマルチプロセスプログラムで呼び出される関数を見つけますか?
私は、特定の入力が与えられたさまざまなLinuxプログラム(Cで記述)で呼び出される関数を見つける必要があるプロジェクトに取り組んでいます。私の現在のアプローチは、-pg(プロファイリングオプション)を使用してプログラムをコンパイルして実行し、gprofの出力を処理することによって呼び出される関数を見つけることです。少なくとも1回呼び出された関数のみが出力ファイルに表示されます。
明らかな問題は、1つのプロセスだけがgprof出力ファイルに書き込めることです。プログラムが複数のプロセスをフォークする場合、他のプロセスからプロファイリング出力を取得しません。
gprofに各プロセスの出力ファイル(おそらくpidでラベル付けされている)を生成させる方法はありますか?マニュアルでは、各プロセスを別のディレクトリに変更することを提案していますが、これを行うためにソースコードを変更したくありません。Linux用の別のツールが役立ちますか?
c++ - gprof の呼び出しグラフの出力に循環要約の呼び出し元がないのはなぜですか?
GNU gprof 2.15.94.0.2.2 を使用して、呼び出しサイクルが大きい C++ プログラムのプロファイリングを行います。gprof のドキュメントに示されているように、コール グラフの出力に次のようなものが表示されることを期待していました。
ただし、私の<cycle as a whole>
エントリには発信者がリストされていません。それらはすべて次のようになります。
私のサイクルは非常に大きいので、サイクル内の個々の関数を介して呼び出し元を追跡するのは非常に困難です。
出力にサイクル呼び出し元が表示されない理由と、それらを表示させる方法を誰か教えてもらえますか?
multithreading - pthread での gprof の使用
pthreads を使用するマルチスレッド プログラムのプロファイリングに gprof を使用できますか? つまり、その出力には、すべてのスレッドで使用された時間が含まれますか?
compiler-construction - gprof と互換性のあるコンパイラは?
gprof 出力を生成できるコンパイラのリストを探しています。
macos - OS X での gprof の問題: [プログラム] はホスト アーキテクチャのものではありません
gprof
OS X での実行に問題があります。ファイルtest.c
は次のとおりです。
そして私の端末は次のようになります:
編集:また、それはファイルを生成しませんgmon.out
。
何が起きてる?