如何确定C#中的一组操作执行所需的时间?

时间:2009-12-31 20:53:44

标签: c# benchmarking

是否有高精度计时器可用于对执行时一系列操作/语句所花费的时间进行基准测试?返回自纪元以来的秒数的计时器将不足,因为分辨率以秒为单位。

我认为一般的实施方式是:

  1. 以毫秒为单位获取开始时间。
  2. 执行声明。
  3. 以毫秒为单位获取结束时间。
  4. 经过时间=结束 - 开始。
  5. 谢谢,

    斯科特

2 个答案:

答案 0 :(得分:1)

您可以使用Stopwatch对象,它有StartStop方法。但请注意,它会测量可能受系统负载影响的总时间,而不是净时间。要获得净时间,您需要使用一些专门的分析工具。

答案 1 :(得分:1)

Stopwatch类适用于此。请注意,它会测量挂钟时间,而不是代码执行时间。

    Stopwatch sw= new Stopwatch();
    sw.Start();
    DoTimeConsumingOperation();
    sw.Stop();
    Console.WriteLine(sw.Elapsed); // in milliseconds
  

秒表测量经过的时间   计算计时器滴答在底层   计时器机制。如果安装   硬件和操作系统支持   一个高分辨率的性能计数器,   然后秒表类使用它   用于衡量经过时间的计数器。   否则,秒表类使用   用于测量经过的系统计时器   时间。 使用频率和   IsHighResolution字段来确定   精度和分辨率   秒表计时实施

相关问题