問題タブ [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.
c++ - プロファイリングの結果に戸惑う
-g -O2
" " でプログラムをビルドし、 valgrind
+cachegrind を実行しました。出力の解釈方法がわかりません。出力は次のとおりです。
http://daviddoria.com/Uploads/callgrind.CacheMisses
私の「プログラム全体」は、InpaintingAlgorithm
「メイン」の 98.4% の関数です。ここまでは順調ですね。の呼び出し先を見るとInpaintingAlgorithm
、92.9% がInpaintingAlgorithm
ですLinearSearchKNNProperty::operator()
。これは私の「内部ループ」であり、ここでも膨大な時間が費やされると予想しています。
ここで私は混乱します。の呼び出し先を見ると、LinearSearchKNNProperty::operator()
本当に何もない?? 最大の関数はわずか 7.64% で、残りは < 0.25% です。すべての呼び出し先の合計が約 8% しか追加されない理由がわかりません。残りの92%はどこ?? (おそらく、それをより速くするために私が探しているものです!)
誰かがこれらの結果を読む際の私の誤りを指摘してくれたら、私はそれを感謝します!
php - kcachegrindでphp関数のパラメータを見る方法
xdebugプロファイルファイルを表示するためにkcachegrindを使用しました。
サイクルで kcachegrind の関数またはメソッドに渡されたパラメーターを確認する方法
performance - php :: session_startが原因で、CakePHPページの読み込みが遅い
データベースを呼び出さないCakePHPアプリケーションのページは、ロードに約4秒かかることがわかりました。これは、遅すぎます。
私は無駄に次のことを試みました:
- コンピューターを再起動する
- Uniserverの再インストール
- デバッグレベルを2から0に切り替える
- FileCacheからAPCキャッシュに切り替える
XDebugプロファイラーダンプを取得し、KCachegrindで、最も時間のかかる関数がphp :: session_startであり、\ webroot\index.phpによって呼び出されたことを確認しました。また、CakePHP Debug Kitを使用してパフォーマンスを確認したところ、最も時間のかかる項目は「コア処理($ _SERVER ["REQUEST_TIME"]から派生)」であることがわかりました。
ページの読み込みを高速化するにはどうすればよいですか?
私のハードウェアが関連している場合は、以下に動作環境について説明しました。
- ThinkPad T400
- Intel Core2Duoプロセッサー
- OCZ SSD
- 4 GB RAM
- Windows764ビット版
- CakePHPバージョン2.2.3
出発点として、php.iniの作業用コピーを、Uniserverが提供する製品版のphp.iniと比較したところ、次の大きな違いが見つかりました。
- PHPエラーレベル(E_ALL、E_NOTICE、E_STRICTなど)
- $php_errormsgロギング
- mysqlnd.collect設定(これらのうちの2つ)
- Xdebugを無効にする
次に、比較の前後にいくつか行いました。緑のセルは1秒未満の値です。これは、人間が何かを「かなり速い」と認識するための制限です。実際には、「インスタント」になるには0.1秒未満である必要があることを認識していますが、それは少し非現実的です。
(画像をフルサイズで表示するには、Windows SkyDrive(http://sdrv.ms/YomWdO )にアクセスしてください。)
php.iniの「After」バージョンで実行しているときにWebサイトアプリケーションを使用してみましたが、問題はありませんが、ほとんどのページを起動すると、特に一部のページをすぐに起動できる場合は、まだ道に迷っています。 。
fedora - KCacheGrind が Fedora 17 で何も開かない
だから、私は今できることをすべて試しましたが、これでうまくいかないので、SOの人たちに助けを求めています.
システムの詳細:
フェドラ 17 x86_64
Intel® Pentium(R) Dual CPU E2160 @ 1.80GHz × 2
1.9 GiB メモリ
KCacheGrind 0.7.1
KDE プラットフォーム バージョン 4.9.4
手順の詳細: サーバーまたは Xdebug Helper と呼ばれる Chrome Ext から XDEBUG ログを取得します。そして、アイコンから直接、または作成したシェル スクリプトから実行します。
そして、「プロファイルデータが読み込まれていません」というエラーが表示されます
何か案は?
申し訳ありません:エラーは「(機能が選択されていません)」と表示されます
私を許して。私は Linux と KCacheGrind の初心者です。
c++ - 2 つの C++ プログラムの違い
私は 2 つのバージョンを持つ 1 つの C++ プログラムを持っています。1 つのバージョンでは機能が動作していますが、他のバージョンでは動作していません。この 2 つのバージョンの違いをデバッグする方法はありますか? 具体的には、Linux と g++ を使用しています。KCachegrindのようなものを使用して差分コール グラフを表示する方法はありますか? または、これらの関数呼び出しの違いをより高速に表示する gdb の何かがありますか?
更新中... すべての違いを表示するにはプログラムが大きすぎます。まず、関数呼び出し間のパスの違いを知りたいと思います。その後、この関数だけで diff コマンドを実行するオプションがあります。
php - プロファイリングのためのリモートサーバーへの Xdebug インストール
プロファイリングの目的で、AWS クラウドのリモート サーバーに Xdebug をインストールしようとしています。phpinfo() を使用してチェックした Xdebug をインストールし、サーバーでプロファイリング オプションを有効にする設定をいくつか保持しました。有効になっていることを確認しました。
pro filer の出力ログをリモート サーバーのディレクトリに保存しています。Kcachedgrind を使用してこれらのファイルを開きたいと思います。だから私はKcachesgrindをインストールしました。
PHP.ini ファイルで使用した設定は以下のとおりです。
上記の設定では、xdebug.remote_host という名前のファイルが表示されます。通常は localhost ですが、リモート サーバーにいるので、サーバーのホスト名をそこに保持しました。Kcachegrind を使用してファイルを開こうとすると、以下のエラーが発生します。
php - XDebug が fopen を実際より遅いと誤って報告していますか? より正確な情報を得るにはどうすればよいですか?
XDebug を使用した場合よりも少し遅いと思われる PHP Web サイトのプロファイリングを行っています。
KCacheGrind でプロファイル情報を確認したところ、ロード時間の 80% 以上が fopen によるものでした。
ただし、fopen 呼び出しの前後にステートメントをコードに追加して所要時間を測定すると、XDebug によって報告された 80% に近づいていないように見えます。
このメソッドは、fopen 呼び出しを完了するのに約 2 秒かかっていることを報告します。ページの読み込みには約 25 秒かかります。これは、XDebug によって報告された 80% からの大幅な増加です。
それは本当に fopen 呼び出しがすべてを遅くしているのでしょうか?
そうでない場合、どうすれば XDebug からより正確な情報を取得できますか?
編集:呼び出しは完了しますが、接続が閉じられるまで XDebug によって「現在」としてカウントされ、タイムアウトするまでハングするようです。接続を手動で閉じた後、統計は少し良くなったようです。
c++ - 関数宣言行の cachegrind Ir カウントの解釈
まったく同じ方法で使用される、2 つの同様の関数の行ごとのキャッシュ カウントがあります。関数宣言行 (void f(...)) の Ir カウントは非常に異なります。1 つは 999,999,993 で、もう 1 つは 284 だけです。これは何を意味するのでしょうか?
debugging - Valgrind 出力のエラー概要?
valgrind に関するいくつかの投稿を見てきましたが、valgrind の出力の解釈を理解するのに役立った投稿は 1 つもありませんでした。valgrind で 2 つのプログラムを実行しました (どちらもメモリ リークがありました)
テスト 1 のサンプル出力
テスト 2 の出力
エラーの概要を見ると、1 つの出力はエラーがあることを示し、他の出力はエラーがないことを示しています (最終的に両方にリークがあります)。
私の質問は - - valgrind でエラーとしてカウントされるものは何ですか? (valgrind マニュアルは役に立ちませんでした)