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

您可以使用Timer并将操作附加到Elapsed事件。例如,你可以中止你的线程......嗯,如果你不害怕后果......实际上,如果你想为你的进程设置超时,你可以这样做。

如果只是为了监控,秒表正好适合您的需求

于 2010-04-06T06:42:30.953 回答