.net プログラムで作業する際に使用したプロファイラーは何ですか? また、特にお勧めのプロファイラーは何ですか?
ベストアンサー1
利用したジェットブレインズdotTraceそしてレッドゲート ANTS広範囲にわたります。機能と価格はかなり似ています。どちらも、便利なパフォーマンス プロファイリングと非常に基本的なメモリ プロファイリングを提供します。
dotTrace は Resharper と統合されており、IDE からワンクリックでユニットテストのパフォーマンスをプロファイルできるので非常に便利です。ただし、dotTrace は誤った結果を返すことが多いようです (たとえば、メソッドの実行に数年かかったと表示されるなど)。
私は ANTS のプロファイリング結果の表示方法の方が好きです。ソース コードが表示され、各行の左側に実行にかかった時間が表示されます。dotTrace にはツリー ビューしかありません。
EQATEC プロファイラー非常に基本的なもので、アセンブリの特別なインストルメント バージョンをコンパイルして、EQATEC プロファイラーで実行する必要があります。ただし、無料です。
全体的に、パフォーマンス プロファイリングには ANTS の方が好みですが、Resharper を使用する場合は、dotTrace の統合がキラー機能となり、使いやすさの点で ANTS を上回ります。
無料のMicrosoft CLRプロファイラー(.Net フレームワーク 2.0/.Net フレームワーク 4.0) は、.NET メモリ プロファイリングに必要なすべてです。
2011年更新:
のScitech メモリプロファイラー非常に基本的な UI ですが、dotTrace や ANTS にはないアンマネージ メモリに関する情報など、多くの有用な情報があります。COM 相互運用を行う場合は便利かもしれませんが、COM メモリの問題を簡単に診断できるプロファイラーはまだ見つかっていません。通常は、 をブレークアウトする必要がありますwindbg.exe
。
ANTS プロファイラーはここ数年で飛躍的に進歩しており、そのメモリ プロファイラーには本当に便利な機能がいくつかあり、私の評価ではパッケージとしては dotTrace を上回っています。私は幸運にも両方のライセンスを持っていますが、パフォーマンスとメモリの両方のために .Net プロファイラーを 1 つ購入するなら、ANTS をお勧めします。