2011-02-05 8 views
2

私のプログラム(C#)は、メッセージを送信する静的クラス(基本的にデータフィードのような役割を果たす)と、それらのメッセージをリッスンする多くの個々のクラスインスタンスIDを取得したものに遭遇し、計算を行い、別のイベントを発生させます。待機と計算中にこれらのリスナークラスの各インスタンスがどのようなリソースを取るかを測定したいので、同時に作成できるインスタンスの数を調べることができます。C#で単一インスタンスライフサイクルのパフォーマンスを測定する

私はVSプロファイラの基本的な使い方を知っており、この種のテストを達成するための参考資料を探したいと思います。

おかげ

UPDATE:私はソフトウェアをプロファイリングについて知っ

。私が探しているのは、アプリケーション内の単一のクラスインスタンスだけを測定する方法です。

+0

は注意してください。インスタンスと会話するイベントを持つ静的なものは、誤って生存期間を延長する理想的な方法のように聞こえます。*本質的に*メモリリーク(まだ予約されているもののガベージコレクションをブロックします)。あなたがこのアプローチをとっておけば、イベントの購読を中止することについては、あなたは狂ったように編集的でなければなりません。 –

+0

私はそれの問題を認識しています - しかし、私はどのように狂ったような不自由なことができますか?そのためのガイドラインは? – Sol

+0

Marcが意味することは、インスタンスが購読しているイベントから購読を取り消すために、多くの手間をかけなければならないということでした。言い換えれば、明らかな利点がないため、多くのトラブルやテストを行う必要があります(それはそれに値するものではありません)。 –

答えて

0

私はVS 2008のdotTraceと恋に落ちたので、ビルド済みのVSプロファイラを使用したことはありません。使い方は非常に正確で細かく、メモリ使用量とプロセッサ使用率の両方で優れています。

http://www.jetbrains.com/profiler/

+0

Hawxbyさん、ありがとうございます。しかし、dotTraceを使って、単一のクラスインスタンスやそれに類似するものにアタッチすることはできますか? – Sol

+0

私はあなたがクラスインスタンスへの個々の呼び出しを見つけるために別のスレッドを掘り起こす必要があるかもしれないと思います。 – Hawxby

関連する問題