そこにまともなC#プロファイラーはありますか?[閉まっている]


83

C#プロファイラーが必要です。

お金を払うのは嫌いではありませんが、注文書を出すのに時間がかかるので、無料または少なくとも試用版が付いているものが理想的です。

何かお勧めはありますか?



SOについて多くのことを述べているのは、質問を検閲する理由は、「討論を求める可能性が高い」ということです。
グレンメイナード2014年

回答:


35

次のことを試すことができます。


編集:NprofはSlimTuneに置き換えられ、.Net4.0アプリケーションで動作します


7
ProfileSharpで遊んだことがあります。それは絶対にひどいです。
マシューラストン

1
nprofは.Net1.1だけだと思います。.Net 1.1にコンパイルできる場合でも、プロファイルを作成してから.Net2に再コンパイルしてリリースすると便利な場合があります。ただし、ジェネリックスやnull許容型などの.Net2機能の使用を開始した場合、これは不可能です。
redcalx 2009

1
Matthewに同意します。ProfileSharpはひどいもので、最も単純なコマンドラインexeでもプロファイルを作成できませんでした。時間を無駄にしないでください
Michael Dausmann 2009

nprofの開発は最近持ち直しているようです。
ブライアンオルティス

1
.Net MemoryProfilerを使用してメモリリークを見つけました。かなりいい。それは私の承認の印を持っています!
サイロンキャット

40

私は1年半前に大規模なc#プロジェクトでAntsプロファイラーを使用しました。それはそれがかかるものに対して本当に非常にうまく機能し、そしてより高価な競合他社のいくつかを上回っていました。

ほぼ1行ごとの解像度でコストを計算します。


1
私もANTSが好きです。レッドゲートからです。
マルセル

32

EQATECプロファイラは非常に良好であり、完全に無料です。セットアップと使用は簡単で、アプリケーションにあまりオーバーヘッドを追加しないようです。私は今日それを使い始めたばかりで、他の方法では見つけられなかったであろういくつかのボトルネックをすでに見つけました。


商用ライセンスでは無料ではありません(ただし、それでも安価で、200ドル)。
mhenry1384 2009

はい、最新バージョンのライセンスを変更し、商用利用のために課金を開始したようです。それでも私はそれを強くお勧めします。
HullCitySteve 2010年

3
更新-標準の.NETアプリケーション(CFやSilverlightは
除く

3
ライセンス条項はリリース3.6で再び変更されました。CFやSilverlightを含むすべてのプラットフォームで無料になり、1つのセッションでインストルメントできるDLLの数に制限があります。
Richard Flamsholt 2010

3
無料ではなくなり、Telerikに買収されました:(
pingoo 2013

29

JetBrainsのdotTraceが広く使用されています。

Patrick Smacchiaの素晴らしいNDependは、静的分析を提供するのに最適です。


1
dotTraceは本当に優れたプロファイラーであり、非常に使いやすいです。
Stefan Monov 2010年

dotTrace3.1は.NET4では機能しません。dotTrace4.0を待つ必要があります。
ボビーキャノン

1
アップデートとして、ドットトレース4パフォーマンスとドットトレース3.5メモリの両方がサポート.NET 4.行う
ジュラGorohovsky

11

SharpToolbox.comで.NETのプロファイラーの包括的なリストを管理しています

ここで提案されているツールやその他のツールがあり、それぞれに提案内容の簡単な説明があります。


これは時代遅れのようです(レッドゲートエントリはかなり古くなっています)
Andrew Harry

ハリー、これを指摘してくれてありがとう。すべてのRedGate製品に関する情報が最新になりました。Sharptoolbox.com/authors/red-gate-software
Fabrice

7

Visual Studioのハイエンドバージョンに1つあると誰も言及していないのは興味深いことです。実行プロファイリングには、これで十分であることが常にわかっています。メモリプロファイリングには、すでに説明したメモリプロファイラーを使用しますが、一般的に「プロファイラー」とは言いません

どのようなプロファイリングをしようとしていましたか?



6

.NETメモリプロファイラーを使用します。ちょっと醜いですが、ぶら下がっている参照を見つけるのに非常に便利です。

私はもともと非常にセクシーなRedGateのANTSプロファイラーを試しましたが、メモリリークの観点からは、次の理由で問題が発生します。

1)その途方もなく遅い。アプリケーションが記録を開始する状態になるまで30分かかりました(レッドゲートなしで20秒かかります)。

2)Red Gateは、独自のツールで独自のツールを実行する必要があります。2つのスナップショットを終了するまでに、900MBのメモリを使用していました。その後、クラッシュしました:(

しかし、Red GateANTSのタイミングコンポーネントは印象的でした。些細な(フットプリントが小さい)アプリケーションを扱っている場合を除いて、メモリプロファイラーを気にしないでください。


2
両方のv4を試しましたか?今ではオールラウンドではるかに良くなっています:)
thecoop 2009

4

私はAQtimeを使用したことがありますが、決してがっかりすることはありません。試用版があると思います。


AQTimeは、アンマネージコードをサポートするという点で、ANTよりも大きな利点があります。
Rick Minerich 2012年

3

2番目の赤いゲートのANTSプロファイラーです。私はそれを使用して、いくつかの本当に厄介なパフォーマンスの問題を追跡しましたが、使い方は非常に簡単で(学習曲線が低い)、わかりやすい方法で詳細なデータを表示しました。値札はそれだけの価値がありますが、無料ではありません...


2

Patrick Smacchiaの素晴らしいNDependは、静的分析を提供するのに最適です。

静的分析にはNDependを徹底的にお勧めしますが、提供される大量の情報を実際に分析し、すべての統計が実際に何を意味するのかを理解するには、おそらく1日か2日は取っておかなければならないことに注意してください。あなたのコード。



2

EQATECプロファイラーはここで仕事をしました。


2

SharpDevelopの現在のリリース(3.1.1)には、優れた統合プロファイラーがあります。これは非常に高速で、SharpDevelopIDEとそのNUnitランナーに非常によく統合されています。結果は柔軟なツリー/リストスタイルで表示されます(LINQを使用して独自の選択を作成します)。表示されたメソッドをダブルクライクすると、ソースコードに直接ジャンプします。


1

現在、それらを使用しないでください。私の仲間は、Antsプロファイラーについて絶賛しています。私はその有料製品がどれほど高価かわからないことを知っています。MVPにスタッフを配置する場合は、それを利用して無料でライセンスを取得できる可能性があります。


MVP全体についてもう少し詳しく教えていただけますか?ありがとう、
kay.one 2009

MVPは、製品を無料でレッドゲートするためのライセンスを取得します。これは、MVPがコストを問題にしないチームのメンバーがいる場合に、抜け穴になります。
DevelopingChris

この抜け穴とそれを利用する方法を説明するリンクはありますか?
キースサーモンズ2009

1

AQTime(パフォーマンスとメモリの両方)またはANTS(v4パフォーマンスプロファイラーまたはv5ベータメモリプロファイラー)はこちら。



0

メモリ使用量のプロファイリングにはあまり適していませんが、Visual Studioの一部のバージョンに含まれているプロファイラーは、実行速度のプロファイリングに非常に優れています。


VS2010プロファイラーにアクセスする1つの方法は、ソリューションがロードされた後、[デバッグ]メニューから[パフォーマンス分析の開始]を見つけることです。その機能の詳細はmsdn.microsoft.com/query/にあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.