7

実行中の特定のプロセスのc#で実行時間を計算するためのタイマーを設定するのが好きです。これどうやってするの

4

3 に答える 3

37

通常、これにはタイマーを使用しません。を使用しStopwatchます。

Stopwatch sw = Stopwatch.StartNew();
// Do work
sw.Stop();
TimeSpan elapsedTime = sw.Elapsed;

比較的高速なもののベンチマークを実行している場合は、何度も実行する価値があります。これにより、かなりの時間がかかります(通常、5〜30秒かかります)。確かに、これは常に実行可能であるとは限りません。また、マイクロベンチマークが見逃しがちな実際のパフォーマンス(キャッシュのヒット/ミスなど)に影響を与える微妙な点は他にもたくさんあります。

基本的には注意が必要Stopwatchですが、多くの場合、おそらくこれが最良の出発点です。

于 2010-04-06T06:40:35.430 に答える
10

System.Diagnostics.Stopwatchを使用して、必要な処理を実行できます。

于 2010-04-06T06:41:58.157 に答える
0

タイマーを使用して、 Elapsedイベントにアクションをアタッチできます。たとえば、スレッドを中止することができます...結果に不安がなければ、うーん...実際には、たとえばプロセスにタイムアウトを設定したい場合は、それを行うことができます。

監視だけの場合、ストップウォッチはあなたのニーズにぴったりです

于 2010-04-06T06:42:30.953 に答える