dotTrace Profiler

om's SystemよりdotTrace Profiler

デモを見ただけですが、よさそう。

とありましたが、とりあえずライセンス(30日)を取得して実際に試してみました。
えーっと、えーっと、デモでやってるような機能は確かにありますが、それ以外の機能がほとんどありません。呼び出し先は調べられるけど、呼び出し元は調べられないし、*1ライブオブジェクトのリストアップとかもできませんし、GC の動作を制御したりモニタしたりもできません。
nprof*2 .NET Profiler*3 を組み合わせるぐらいのほうが機能的には圧倒的に良いんではないかと思います。
が、こと実行速度に限ってはすごく快適です。上記のように機能的にかなり不足しているのに比例して恐ろしい実行速度を実現しています。プロファイラ本体が nprof や .NET Profiler が Native-COM-.NET の3層構造に対して、Native-COM の2層で構成されていると思われるので、そこらへんが大きく影響しているのかもしれません。
どれぐらい早いかっていうと、ハードウェアが同じ環境で nprof で1時間かかるような作業が1分で終わってしまいます。それでいてプロファイル結果は、見れる情報がすくないもののデモにあるような簡単なボトルネック探査であれば遜色ないデータが取得できます。DevPartner なんかだと、機能的な完成度に対して重量感がありますが、こういう低機能・高速プロファイラってのも結構よいかな、と思いました。「はやい」「そこそこ正確」ときたら、あとは「やすい」なんですけどね。

*1:特定のメソッドの呼び出しをクローズアップする際に、別のコールツリー下の呼び出しを含めるかどうかぐらいは指定できる

*2:.NET 2.0 未対応

*3:id:ladybug:20051209#p1