测量函数执行时间的最佳方法是什么?

时间:2008-12-19 13:10:21

标签: c# performance benchmarking execution-time

显然我可以做DateTime.Now.After - DateTime.Now.Before,但必须有更复杂的东西。

任何提示赞赏。

4 个答案:

答案 0 :(得分:96)

答案 1 :(得分:45)

我肯定会建议你看一下System.Diagnostics.Stopwatch

当我四处寻找有关秒表的更多信息时,我发现了这个网站;

Beware of the stopwatch

提到了另一种可能性

  

Process.TotalProcessorTime

答案 2 :(得分:11)

使用Profiler

然而,您的方法仍然可行,但如果您正在寻找更复杂的方法。我建议使用C# Profiler

他们的优势是:

  • 您甚至可以获得声明级别 破裂
  • 您的代码库无需更改
  • 仪器通常具有非常少的开销,因此可以获得非常准确的结果。

还有许多可用的open-source

答案 3 :(得分:4)

Tickcount是好的,但我建议运行100或1000次,并计算平均值。 它不仅使其更具可测性 - 在真正的快/短功能的情况下,但有助于处理由开销引起的一些一次性效果。