問題タブ [kcachegrind]

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

c - Cachegrind出力の解釈

これはcachegrind出力の一部です。コードのこの部分は1224回実行されました。elmg1は、サイズ16 x 20のunsignedlongの配列です。私のマシンのL1キャッシュサイズは32KB、64Bキャッシュラインサイズ、8ウェイセットアソシアティブです。

  1. for(i = 0; i <20; i ++)78,336 2,448 2 50,184 0 0 1,224 0 0
  2. {{
  3. telm01 = elmg1 [i]; 146,880 0 0 73,440 0 0 24,480 0 0
  4. telm31 =(telm01 << 3)^ val1; 97,920 0 0 48,960 0 0 24,480 0 0
  5. telm21 =(telm01 << 2)^(val1 >> 1); 146,880 1,224 1 48,960 0 0 24,480 0 0
  6. telm11 =(telm01 << 1)^(val1 >> 2); 146,880 0 0 48,960 0 0 24,480 0 0
  7. }

A.ここに記載した理由は、forループ内の3行目に、I1ミスが多数見られるためです(L2ミスも1つ)。やや紛らわしく、理由がわかりませんでしたか?

B.コードの一部を最適化(時間)しようとしています。上記はほんの小さなスニペットです。私のプログラムのメモリアクセスでは、多くの費用がかかると思います。上記の例のように、elmg1は16x20サイズのunsignedlongの配列です。私がコードでそれを使おうとすると、常にいくつかのミスがあり、私のプログラムではこれらの変数が頻繁に発生します。助言がありますか?

C.これらの署名されていないlongを割り当てて(場合によっては初期化する)必要があります。calloc宣言と配列宣言のどちらを優先するかを提案してから、明示的に初期化してください。ちなみに、キャッシュがそれらを処理する方法に違いはありますか?

ありがとう。

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

linux - kcachegrindがコールグラフを表示しないのはなぜですか?

大規模なプログラムの流れに関する情報を取得しようとしています。KCachegrindは、以前はこれに最適でした。しかし、私のシステム(Kubuntu 10.10)にある最新バージョン(0.6kde)では、コールツリーと発信者マップが表示されません。現在の関数でボックスを描画するだけで、矢印や呼び出し元は描画しません。コンソール出力は次のとおりです。

dot(graphviz)をインストールし、アプリケーションを-g-O0でコンパイルしました。

問題がどこにあるのか分かりますか?

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

php - php xdebug呼び出しをリンクするのが難しいkcachegrind

XDebug を使用してプロファイル レポートを生成しています。プロファイルは生成されますが、kcachegraph を使用して完全なコール グラフを作成できません。

XDebug 構成は次のとおりです。

kcachegrind でレポートを開くと、動作しているように見えますが、somt 呼び出しが二重に表示され、2 つのうちの 1 つに場所があります: (不明)。

index.php には実際のコードが 1 行しかないことに注意してください。これは、フロント コントローラーに必要です。実行のこの段階ではオートロードがないため、require::frontcontroller.php が 2 つある理由が本当にわかりません。

これはあなたを助けるかもしれない3つのウィンドウのスクリーンショットです:
http://img46.imageshack.us/img46/2226/kcachegrind123.png

何が問題なのか手がかりはありますか?

ありがとう

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

php - プロファイリングでは、100% 以上が関数に費やされていることが示されます

Xdebug と KCacheGrind を使用して PHP アプリケーションをプロファイリングすると、一部の関数で (包括的に) 150% 以上が費やされていることがわかります。アプリは Smarty 3 を使用しており、奇妙な関数は常にテンプレート処理に関連する呼び出しにあります。Smarty プラグインが他のテンプレートをロードするため、その領域には多くのループがあります。他の誰かがこの現象に遭遇しましたか? Xdebug が Smarty によって生成された PHP ファイルを正しくプロファイリングできない、または KCacheGrind がループによって混乱しているという問題はありますか? Smarty がボトルネックであるという結論はどの程度信頼できますか?

画像:

0 投票する
6 に答える
18010 参照

php - そこから Mac Os X の KCacheGrind に代わるものはありますか?

KCacheGrind の代替品、または少なくとも Mac Os X 用のバイナリ パッケージを探していますか?

PHP用のXDebugでKCacheGrindを使用したいのですが、ここではMac Os Xが適切な環境です...

ありがとうございました

編集: MacPort を使用できることはわかっていますが、この面倒なインストールの代替手段を探しています。

たぶん「マックのやり方で」何か

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

c++ - 最初の機能は不明

私はで最初のステップを実行していますKCachegrind/Cachegrind。マシンAで実行Cachegrindしてから、KCachegrindがインストールされているマシンBに出力ファイルを移動しました。

理由はわかりませんが、いつも最初の機能を表示していて、写真のような使い方(unknown)があるので悪いです。19.46私が間違っていることは何ですか?出力ファイルには必要な情報がすべて含まれているはずですか?

  1. コンパイルフラグを使用して-gいますが、それで十分ですか?ちなみに最適化版を使いたいのですが、うまくいくかわかりません。
  2. プロファイリングを行うのと同じマシンでKcachegrindを実行するのが最善でしょうか?

ここに画像の説明を入力してください

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

kcachegrind - Kcachegrindオーバーライドリストアイテムの制限499

現在、kcachegrindインスタンスに499を超えるリストアイテムを表示させることができません。これにより、コールグラフが不完全になります。

機能をスキップしない方法はありますか?

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

php - xdebug php 拡張機能から作成された .xt ファイルを解析できません

何らかの理由で、/tmp ディレクトリ内に出力ファイルを作成できますが、ファイルは kcachegrind または wcachegrind (Windows バージョン) から読み取ることができません。

PHP 5.3.6 xdebug 2.1.1

ファイルは正しいようです。ここに最初の 2 行があります

kcachegrind は、ファイルに読み取り権限がない (真実ではない) ことを教えてくれますが、wincachegrind は、その形式に一貫性がなく、ある時点で解析エラーがあることを教えてくれます。

何が間違っている可能性がありますか?

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

php - PhpKcachegrindのインストールワークフロー

Mac環境(php v5.3.3)。xdebugプロファイリングログを分析する必要があります。読んで、Kcachegrindを使用する必要があることを理解しました。DevZoneチュートリアルに従っています。Xdebugを使用したPHPアプリケーションのプロファイリング。2つの特定のポイントでスタックしました。

  • システムのパケットマネージャーとは何ですか?

  • KDEライブラリとは何ですか?それらをインストールするにはどうすればよいですか?

また、Kcachegrind 0.4.6または0.10.1(完全なValgrindパッケージ)を使用する必要があるかどうか、または提案したい他のプロファイリングツールがあるかどうかもわかります。

ありがとう

ルカ

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

c++ - valgrind+kcachegrind を使用してプロフリング結果の関数名を短くする

私は通常、valgrind+kcachegrind を使用して C++ コードのプロファイリングを行います。私が取り組んでいる新しいコードは非常に長い関数名を使用しているため、グラフィカルな結果は混乱しています。関数名を小さなボックスに収まるように短縮するにはどうすればよいでしょうか。