問題タブ [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.
c - gprof はブロックされた時間を考慮に入れますか?
実行可能ファイルで gprof を実行していますが、実行可能ファイルはwait()
子プロセスの完了に多くの時間を費やしています。待機に費やされた時間は、gprof のタイミングに考慮されていますか?
dynamic-linking - ホストアプリをプロファイリングせずに共有オブジェクトをプロファイリングする方法は?
ホスト アプリケーションがあり、プラグインを作成しました。プラグインを共有オブジェクト (foo.so など) にコンパイルすると、ホスト アプリケーションは dlopen 経由でそれをロードします。この場合、私のホスト アプリケーションは llvm の opt ツールです (ただし、それは質問にとって重要ではないと思います)。
プロファイリングを有効にしてプラグインをコンパイルしたい (つまりg++ -pg
、gprof
)。ただし、これを行うと、プロファイル出力ファイル gmon.out が作成されません。gprof は誰かがセットアップ ルーチンなどを呼び出すことを期待しているのかもしれません。
さまざまな理由から、ホスト アプリを -pg で再コンパイルすることは避けたいと考えています。ホスト アプリケーション opt をプロファイリングせずに、共有オブジェクト foo.so をプロファイリングできるかどうか興味があります。
他のプロファイリング ツールも調べました。HP の qprof はこの状況を処理できるはずですが、共有オブジェクト内の関数の名前を解決できません (非常に素朴な方法で addr2line にフォールバックします)。
ありがとう、ニック
gprof - メモリ不足エラー。割り当て中...
gprof コマンドを使用しようとしgprof -s executable.exe gmon.out gmon.sum
ています。プログラムを 2 回実行して収集したプロファイリング データをマージします。しかし、次のエラーが表示されます。
gprof: 合計 196608 バイトの後に 3403207348 バイトを割り当てるメモリが不足しています
私のプログラムは非常に単純です (1 つのfor
ループのみ)。一度実行すると、gprof が記録するには実行時間が短すぎます (0.00 秒と表示されます)。
CygWin では、次の手順を実行します。
gcc -pg -o fl forAndWhilLoop.c
fl (プログラムを実行)
mv gmon.out gmon.sum
fl (プログラムを実行)
gprof -s fl.exe gmon.out gmon.sum
gprof fl.exe gmon.sum>gmon.out
gprof fl.exe
私のプログラム:
誰でもこの問題で私を助けることができますか?ありがとう!
c++ - ベンチマーク (gprof) C++ プログラム。日食環境の使用
さて、私は次の問題を抱えています。
事実; - Eclipse を使用する - MinGW を使用する
作成した C++ プログラムのベンチマークを行いたいと考えていました。私はグーグルを検索してから来ました。 http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html
次に、「-pg」ビルド コマンドを追加したいと思いました。しかし、どのように/どこに追加しますか? 「プロパティ - C/C++ ビルド - 検出オプション」に移動し、「コンパイラ呼び出しコマンド」( http://img515.imageshack.us/img515/3159/67826349.png ) に追加しましたが、何もしませんでした。コンソールで見る限り。
それで、私は何を間違っていますか?
c - Eclipse 使用時の Windows での C コードのプロファイリング
Linuxでコードをプロファイリングできることはわかっていますgprof
。kprof
Windows でこれらのアプリケーションに匹敵する代替手段はありますか?
c# - 最適化: Visual Studio 用の gprof のようなツール
C# プログラマーとして、私は小規模プロジェクトから中規模プロジェクトに移行中です。以前は、小さなプロジェクトにプロファイラーは必要ありませんでした。しかし今、コードのパフォーマンスを改善するのに役立つツールが必要です。私は何年も前に C で gprof を使用していました。
誰かが私に出発点を教えてくれますか、または VS2008 用の gprof のようなツールを勧めてくれますか? つまり、すべての関数が呼び出された回数と、すべての関数で費やされた時間をカウントするツールです。それを支払う必要があるかどうかに関係なく(特定の制限の下で)。
最適化する必要があるコードの部分を見つける方法に関するその他のアドバイスは素晴らしいものです。
ありがとう。
bash - gprof の結果をグラフィカルに表示することはできますか?
いくつかの数値計算プログラムのプロファイリングに興味があります。-g オプションと -pg オプションを付けてコンパイルし、リンクして gmon.out を取得しました。情報(プレーンテキスト)を読んだ後、それは少し見苦しく見えます。プログラムが最も多くの時間を費やしている 10 個の関数のグラフィカルな表現とフラックス ダイアグラムを取得するためのオープン ソース ツールがいくつかあるのではないかと思います。
ありがとう
c++ - 少しのプロファイリング情報でプログラムの呼び出しグラフを取得する方法
与えられた C++ プログラムがどのように機能し、どこで最も多くの時間を費やしているかを理解したいと考えています。
そのために、最初に使用してから写真を取得しようとしましgprof
たgprof2dot
が、結果は時々醜いです.
普段はこれをどのようにしていますか?より良い代替案をお勧めできますか?
PD オープン ソース ソリューションはどれですか (できれば Linux または Mac OS 向け)X?
c++ - Linux でマルチスレッド C++ アプリケーションをプロファイリングする方法は?
Linux のプロファイリングはすべてgprofで行っていました。
ただし、私のマルチスレッドアプリケーションでは、出力に一貫性がないように見えます。
今、私はこれを掘り起こしました:
http://sam.zoy.org/writings/programming/gprof.html
ただし、それはずっと前のものであり、gprof の出力では、gprof がメイン以外のスレッドで使用される関数をリストしているようです。
だから、私の質問は次のとおりです。
- 2010 年に、gprof を使用してマルチスレッド Linux C++ アプリケーションを簡単にプロファイリングできますか? ( Ubuntu 9.10 )
- プロファイリングのために他に調べるべきツールはありますか?