問題タブ [profiling]
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.
optimization - VBA コードの実行時間をどのようにテストしますか?
関数のさまざまな実行時間を比較できるように、実行にかかった時間を知らせる関数をラップできる VBA のコードはありますか?
.net - インプロセスでネイティブを IL 命令ポインターにマップする方法
.NET フレームワークのアンマネージ API を使用してインプロセスの .NET プロセスをプロファイリングする場合、StackSnapshotCallback 関数に提供されるネイティブ命令ポインターに相関する IL 命令ポインターを検索することは可能ですか?
おそらく明らかなように、現在のスタックのスナップショットを取得しており、スタック ダンプにファイルと行番号の情報を提供したいと考えています。Managed Stack Explorerは、クエリを実行してこれを行いISymUnmanagedMethod::GetSequencePoints
ます。これは素晴らしいことですが、シーケンス ポイントはオフセットに関連付けられており、これまでのところ、これらはメソッドの先頭からのオフセットであると想定しています (中間言語で)。
David Broman は、彼のブログ投稿Profiler stack Walking: Basics and beyondへのフォローアップ コメントで、このマッピングは を使用して実現できることを示していますICorDebugCode::GetILToNativeMapping
。ただし、このインターフェイスを取得するには、別のデバッガー プロセスから自分のプロセスにアタッチする必要があるため、これは理想的ではありません。
これらのスナップショットを作成している間も、Visual Studio デバッガー内からアプリケーションを引き続き実行できるようにしたいので、その手順は避けたいと思います。出力ウィンドウの行番号をクリックして、問題のコードに移動しやすくなります。
機能は可能です....管理されたコード内で自由に行番号付きのスタックトレースを吐き出すことができます.唯一の問題は、アクセス可能かどうかです. また、パフォーマンス上の理由から、スタックの実際のダンプを遅らせる必要があるため、System::Diagnostics::StackTrace
or機能を使用したくありません....そのため、後でメソッド名とコードの場所を解決するためのコストを節約することが望ましい.. System::Environment::StackTrace
. ネイティブ フレームとマネージド フレームを混在させる機能。
.net - .NETCF でのメモリ リーク - 動的コントロールを作成していますか?
.NET CF アプリケーションでメモリ リークの問題があります。
RPMを使用して、動的に作成するコントロールが期待どおりにガベージ コレクションされないことを確認しました。.NET ウィンドウ フォームで同じコードを実行すると、動作が異なり、期待どおりにコントロールが破棄されます。
プロセス ヒープカウンターの PerfMon 経由の RPM からの出力を参照してください。
GC ヒープ:
私の推測では、パネルへの弱い参照は、なんらかの不明な理由でオブジェクトを GC の対象にできないのではないでしょうか?
注: Dispose()はサンプルの問題を解決しますが、オブジェクトが使用されなくなった時期を明確に判断できないため、既存のアプリケーションに簡単に組み込むことはできません。
問題を説明するために、ソースの簡略版を含めました。
更新:
1. GC.Collect() を呼び出しても、パネルがクリーンアップされません。
2. Windows CE 4.2 デバイスで .NET CF 2.0 SP1 を使用します。
c# - SQLプロファイラーまたは同様のツールで.netスタックトレースを取得する方法はありますか?
以前の仕事では、実行時(本番)プロファイラーツールの設計と構築を支援しました。このツールは、他の優れた機能の中でも、実行されたすべてのSQLステートメントの.Netスタックトレースを提供できました。ステロイドのSQL-Serverプロファイラーと考えてください。したがって、SQLステートメントと期間を表示するだけでなく、SQLが実行されたコンテキストも取得します。DB中心のアプリを開発するとき、私はこの情報を神から送るものだと思います。
問題は、これが開発されて以来、私の前の会社がノートンライフロックに買収されたということです。ツールはまだダウンロード可能ですが、ライセンスが何であるかが非常に不明確であり、SKUSymnatecが販売しているわけではありません。
SQLステートメントの実行でスタックトレースを提供する同様のツールを誰かが知っているかどうか疑問に思っていましたか?
代替スクリーンショットhttp://img151.imageshack.us/img151/4357/profiler1jz3.gif
これは未回答のままです。ANTS他は、単に「いいえ」と答えて受け入れることを考慮して、これを行いません。
linux - Mac OS X で Shark のように動作する Linux 用の同様のツールはありますか?
Mac OS X のSharkは、実行中のシステムでアプリケーションをプロファイリングするための優れたツールです。Linux 用の同様のツールはありますか?
OProfileの可能性があるように見えますが、使用した人はいますか?
python - オープン ソース プロファイリング フレームワーク?
アプリケーションのパフォーマンスが静的ビルドまたは共有ビルド、ストリップまたは非ストリップ、upx または no upx、gcc -O2 または gcc -O3、ハッシュまたは btree などとして優れているかどうかをテストして定量的に示したいと思ったことはありませんか?これはあなたのためのスレッドです。アプリケーションを調整する方法は何百もありますが、各実験の結果をどのように収集、整理、処理、視覚化するのでしょうか。
Mozilla のPerftasticとコンセプトが似ているオープン ソース アプリケーション パフォーマンス エンジニアリング/プロファイリング フレームワークを数か月間探していました。そこでは、さまざまなチューニング実験の何百もの化身を開発/ビルド/テスト/プロファイリングできます。
いくつかの要件:
プラットホーム
SUSE32 および SUSE64
データ形式
非常に柔軟で、コンパクトで、シンプルで、階層的です。いくつかの可能性があります。
- カスタムCSV
- RRD
- プロトコル バッファ
- JSON
- XML はありません。大量のデータがあり、XML は冗長すぎる
データ収集
柔軟でカスタマイズ可能なプラグイン。/proc、sys 時間、経過時間、CPU 使用率、メモリ プロファイル、リーク、valgrind ログ、アリーナの断片化、I/O、localhost ソケット、バイナリ サイズ、開いている fds からのパフォーマンス データなど、アプリケーションから収集するデータはたくさんあります。など。ホストシステムからのものもあります。これに私が選んだ言語は Python です。これらのプラグインを開発して、すべての異なる形式のデータを監視および/または解析し、それらをフレームワークのデータ形式で保存します。
タグ付け
GCC のバージョンやコンパイル オプション、プラットフォーム、ホスト、アプリ オプション、実験、ビルド タグなどのデータを含むすべての実験にタグが付けられます。
グラフ化
歴史、比較、階層、動的、静的。
- アプリケーションのビルドは、過去 3 年間連続して新しいアプリ バージョンを 1 日に数回リリースするカスタム CI サーバーによって行われます。これが、継続的な傾向分析が必要な理由です。新しい機能を追加したり、バグを修正したり、ビルド オプションを変更したりするときに、プロファイリング データを自動的に収集して傾向を確認したいと考えています。これは、さまざまな静的ビルドの生成が必要な場所です。
- 分析に関しては、 Mozilla 動的グラフは比較グラフ作成に最適です。異なるタグ間の比較グラフがあれば素晴らしいと思います。たとえば、N ビルド バージョンの比較、プラットフォームの比較、ビルド オプションの比較などです。
- 3K テストのテスト スイートがあり、データはテストごとに収集され、テスト間データからテストごと、タグ付けされたグループごとにグループ化され、回帰スイートが完成します。
- 可能性にはRRDTool、Orca、Graphiteが含まれます
グループ分けによる分析
- 分
- マックス
- 中央値
- 平均
- 標準偏差
- 等
プレゼンテーション
これらはすべて、アプリ サーバーを介して表示および制御されます。できれば、Django または TG が最適です。
インスピレーション
sql-server - パフォーマンスのために sqlserver 2005 データベースをプロファイリングする最良の方法は何ですか?
どのようなテクニックを使用しますか? 実行に最も時間がかかるジョブをどのように見つけますか? 問題のあるアプリケーションを見つける方法はありますか?
c# - C# WPF でのメモリ リーク
C# でのメモリ リークの原因を突き止めるためのアドバイスを参考にしてください。メモリ リークとは何か、C# で発生する理由はわかりましたが、過去にどのようなツールや戦略を使用して解決したのでしょうか?
.NET メモリ プロファイラを使用していますが、巨大なメイン オブジェクトの 1 つが、管理するウィンドウを閉じた後もメモリ内に残っていることがわかりましたが、そのオブジェクトへのすべてのリンクを切断する方法がわかりません。
十分に明確でない場合は、質問付きの回答を投稿してください。それに応じて質問を編集します。ありがとう!
sharepoint - SharePoint アプリケーションのプロファイリングのベスト プラクティス
作業している SharePoint アプリケーションの応答時間が不十分な場合、その原因をどのように特定し、どの順序で実行しますか? これまでのところ、SharePoint セグメントに特化したオープン ソースまたは商用のプロファイリング ツールをまだ見つけていないので、ツールやベスト プラクティスへのポインタをいただければ幸いです。
PS。Web パーツのプロファイリング オプションは知っていますが、アプリケーション全体をカバーするものを探しています。
logging - プロファイリングとロギングの違いは何ですか?
プロファイリングとロギングの違いは何ですか?
プロファイリングをパフォーマンス測定に使用して、各機能にかかる時間を確認するだけですか? それとも私はオフですか?
通常、プロファイリング ライブラリはどのように使用されますか?
プロファイリングによって取得される統計の種類は何ですか?