問題タブ [callgrind]

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 投票する
7 に答える
30640 参照

windows - Windows Callgrind 結果ブラウザー、KCacheGrind の代替

KCacheGrind 以外に、callgrind の結果を表示できるツールはありますか? できれば Windows プラットフォーム向けですか?

0 投票する
5 に答える
15637 参照

linux - kcachegrind のコンソール代替?

Kcachegrind は素晴らしく、私のお気に入りのツールの 1 つですが、リモート サーバーのターミナル (ssh などを使用) で実行できないことが時々あります。

VNC または X サーバーの転送をセットアップできることは知っていますが、単純なものが必要な場合は非常に扱いにくいです。

kcachegrind コンソールの代替手段 (ncurses ベースなど) はありますか?

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

profiling - callgrind の通話プロファイルを評価するツールは?

この質問に関連して、callgrind で作成されたプロファイリング データを評価するためにどのツールをお勧めしますか?

グラフィカル インターフェイスを備えている必要はありませんが、簡潔で明確で解釈しやすい方法で結果を準備する必要があります。たとえば については知ってkcachegrindいますが、このプログラムには、表示されているテーブルのデータエクスポートや、単に表示から行をコピーするなどの機能がありません。

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

multithreading - callgrind/kcachegrindを使用してスレッドごとの統計を取得する

アプリケーションの各スレッドがcallgrindをどのように「高価」に使用しているかを確認したいと思います。--separate-thread=yesアプリ全体のcallgrindファイルとスレッドごとに1つのcallgrindファイルを提供するオプションを使用 してプロファイルを作成しました。

これは特定のスレッドのプロファイルを表示するのに便利ですが、私が本当に必要としているのは、各スレッドからのCPU時間のソートされたリストであり、どのスレッドが最大の豚であるかを確認できます。

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

profiling - callgrindを使用して、プログラム実行の特定の期間のみをプロファイリングするにはどうすればよいですか?

プログラムを再構築する必要がないので、valgrindを使用してプロファイリングを行いたいと思います。(プロファイリングしたいプログラムはすでに「-g」でビルドされています)

しかし、valgrind(callgrind)は非常に遅いです...だから私がすることは次のとおりです:

  1. サーバーを起動します(そのサーバーのプロファイルを作成します)
  2. そのサーバーへの接続の種類
  3. サーバーで操作を行う前に、プロファイルデータの収集を開始します
  4. 操作が完了したら、プロファイルデータの収集を終了します
  5. プロファイリングデータを分析します。

Solarisのsunstudioを使用してこの種のことを行うことができます。(dbxを使用)。valgrind(callgrind)を使用して同じことを行うことは可能ですか?

ありがとう

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

callgrind - callgrind : 行が実行されたかどうかを確認する方法

callgrind を使用して gcov/lcov のような出力を生成することは可能ですか? callgrind_annotate の正確なオプションが見つからないドキュメントを読んでいます

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

c - callgrind にソース行情報をダンプさせるにはどうすればよいですか?

リアルタイムのオーディオ処理を行う GNU/Linux 上の共有ライブラリをプロファイリングしようとしているので、パフォーマンスが重要です。システムのオーディオ入力と出力に接続する別のプログラムを実行し、callgrind でプロファイルします。

KCacheGrind の結果を見ると、どの関数が最も多くの時間を占めているかについての優れた情報が得られます。ただし、行ごとの情報を表示することはできません。代わりに、デバッグ シンボルを使用してコンパイルし、プロファイリングを再度実行する必要があると表示されます。

私がプロファイリングしているプログラムは、デバッグ シンボルを使用してコンパイルされていませんが、ライブラリはコンパイルされています。興味深いことに、 cachegrindのソース コード アノテーションは正常に機能するため、私はこれを知っています。

callgrind を実行すると、デフォルトではソース行情報をダンプすると表示されますが、実際にはそうしていません。それを強制する方法、または何がそれを止めているのかを理解する方法はありますか?

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

fork - callgrind 関数名が子プロセスに表示されない

プロセス B をフォークするプロセス A があります。A と B は異なるアプリケーションです。どちらも -g フラグでコンパイルされています。

callgrind で実行するには、次のコマンドを使用します: valgrind --tool=callgrind --trace-children=yes ./A [params]

親プロセス (A) の callgrind.out.xxx には、関数名が含まれています。子プロセス (B) の場合 - 含まれていません。ここで何が問題なのですか?

ありがとう

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

java - javaのcallgrindに相当しますか?

Javaに相当する無料のコールグラインドはありますか? 基本的に、Javaコードの各メソッドと関数に費やされたサイクル数または時間を与えるものは何でも必要です。

私はMacを使用していることに言及する必要があると思います。つまり、以下のEclipseは機能しないと思います。

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

c - サンプリングプロファイラーとしてcallgrindを使用しますか?

Linuxサンプリングプロファイラーを探していましたが、callgrindが最も有用な結果を表示するようになりました。ただし、オーバーヘッドは通常より20〜100倍遅いと推定されます。さらに、私は関数ごとに費やされる時間にのみ関心があります(他のプロファイラーが忠実に表示しない、read()やなどの呼び出しのブロックに特に重点を置いています)。write()

  1. 余分なオプションをオフにして、さまざまなコールスタックで費やされる時間を生成するために最小限のデータだけが記録されるようにする方法はありますか?
  2. callgrindのcachegrindの遺産は、キャッシュプロファイリングなどに関して過剰な処理が行われていることを意味しますか?
  3. callgrindはデバッガーのように動作すると思います。これを調整して、すべての命令ではなく、間隔を置いてプロセスをサンプリングできますか?