准确测量.NET中经过的挂钟时间

时间:2010-09-24 08:56:27

标签: .net performance

准确测量.NET中挂钟时间的最便捷方法是什么?如果可能的话,我正在寻找具有微秒精度的东西(10 ^ -6秒)。

3 个答案:

答案 0 :(得分:7)

System.Diagnostics.Stopwatch是您最好的选择。但是,准确的精确度取决于您使用的计算机上的硬件,即高分辨率性能计数器是否可用。 (您可以使用IsHighResolution字段进行检查。)

样品使用:

Stopwatch sw = Stopwatch.StartNew();
// Do stuff here
sw.Stop();
TimeSpan time = sw.Elapsed;

请注意,如果您使用ElapsedTicks属性,那么在计时器中测量的标记与DateTimeTimeSpan中使用的标记不同。那之前我已经抓住了 - 这就是为什么我总是使用ElapsedMillisecondsElapsed属性。

答案 1 :(得分:0)

答案 2 :(得分:0)

这是一个提供等级的课程,因为我最终认为这是你需要做的。 StopWatch @CPU时间可能会获得APC,您将错过结束时间。

请参阅https://stackoverflow.com/questions/15725711/obtaining-microsecond-precision-using-net-without-platform-invoke

更好的方式恕我直言

如果您发现其他情况,请告诉我们。