1. ホーム
  2. c#

[解決済み】いくつかの良い.NETプロファイラーとは何ですか?

2022-03-25 05:08:36

質問

.netのプログラムを扱う際に使用したことのあるプロファイラと、特にお勧めのプロファイラを教えてください。

解決方法は?

私は JetBrains dotTrace レッドゲート ANTS を広範囲にカバーします。機能的にも価格的にもかなり似ています。どちらも便利なパフォーマンスプロファイリングと、かなり基本的なメモリプロファイリングを提供します。

dotTraceはResharperと統合されており、IDEからワンクリックでユニットテストのパフォーマンスをプロファイルできるので、本当に便利です。しかし、dotTraceはしばしば偽の結果を与えるようです(例えば、メソッドの実行に数年かかったと言う)。

私はANTSのプロファイリング結果の表示方法が好きです。ソースコードが表示され、各行の左側に実行に要した時間が表示されます。

EQATECプロファイラ は非常に基本的なもので、アセンブリの特別なインスツルメンテッド・バージョンをコンパイルし、それをEQATECプロファイラで実行する必要があります。しかし、これは無料です。

Resharperを使用している場合は、dotTraceの統合はキラー機能であり、使いやすさではANTSに勝りますが、全体としては、パフォーマンスプロファイリングにはANTSを使用することをお勧めします。

無償のMicrosoft CLRプロファイラ( .Netフレームワーク2.0 / .Netフレームワーク4.0 ) は、.NET メモリプロファイリングに必要なすべてのものです。

2011年の更新情報です。

サイテック メモリプロファイラ は非常に基本的な UI ですが、dotTrace や ANTS にはないアンマネージドメモリに関する情報など、有用な情報がたくさんあります - COM 相互接続を行っている場合は有用かもしれませんが、COM メモリの問題を簡単に診断できるプロファイラはまだ見つかっていません - 通常は windbg.exe .

ANTS プロファイラはここ数年で飛躍的に進歩し、そのメモリプロファイラには本当に便利な機能があり、私の評価では、パッケージとして dotTrace を押しのけました。私は幸運にも両方のライセンスを持っていますが、パフォーマンスとメモリの両方のために1つの.Netプロファイラを購入するつもりなら、それをANTSにしてください。