R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

パフォーマンスもTDD

何となく、StopWatch クラスを使えば、

パフォーマンスもテスト

できるのではないかと思った。

以下がサンプルです。


Hoge target = new Hoge();
var stopWatch = new System.Diagnostics.Stopwatch();
target.HeavyProcessing(); // 重い処理
stopWatch.Stop();
Assert.IsTrue(stopWatch.ElapsedMilliseconds > 5000, "遅い!");


思いつきだけど、実は他に良い方法があるのかな?

投稿日時 : 2009年9月1日 15:48

Feedback

# re: パフォーマンスもTDD 2009/09/01 16:42 επιστημη

"五秒の空待ちスレッド" と "重い処理スレッド" とをよーいどんしてどっちが早く終わるかテストすれば、長くとも五秒で結果が出るなり。

# re: パフォーマンスもTDD 2009/09/01 17:34 とおりすがり

不等号の向きが逆です!

# re: パフォーマンスもTDD 2009/09/01 18:40 R・田中一郎

επιστημη さん

天才ですかっ!

----------------------
とおりすがり さん

ご指摘ありがとうございます。
修正しておきました。

# re: パフォーマンスもTDD 2009/09/01 23:46 T.Hirase

お、それ同じようなことやってます。
Assertはリリース時に入っていると、不味いんで、
経過時間をSystem.Diagnostics.Traceしてます。
あ、ついでにTraceの出力を自動化したかったんで、
次のように使えるラッパを書いてます。
using (new CheckPerformance()) {
  /* 処理 */
}


主にユーザー操作(メニューやD&D)のイベントハンドラには
もれなく書いてたりします。

# re: パフォーマンスもTDD 2009/09/02 14:24 R・田中一郎

あー、同じようなことやっている人がいるだけで嬉しいです。
ありがとうございます。
参考にさせていただきます~

タイトル
名前
Url
コメント