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

显然我可以做和DateTime.Now.AfterDateTime.Now.Before但一定有更复杂的东西。

任何提示赞赏。

System.Environment.TickCount和System.Diagnostics.Stopwatch类是两个适用于更好的解决scheme和简单的用法。

也可以看看:

  • DateTime.Now是衡量函数性能的最好方法吗?
  • .NET中的高分辨率计时器
  • Environment.TickCount vs DateTime.Now
  • 在Windows中testing程序的最佳方法是什么?

我肯定会build议你看看System.Diagnostics.Stopwatch

当我查看更多关于秒表时,我发现这个网站;

小心秒表

那里提到另一种可能性

Process.TotalProcessorTime

使用一个分析器

尽pipe如此,你的方法仍然有效,但如果你正在寻找更复杂的方法。 我build议使用C#分析器 。

他们的优点是:

  • 你甚至可以得到一个声明水平分手
  • 您的代码库不需要进行任何更改
  • 仪器通常具有非常less的开销,因此可以获得非常准确的结果。

也有许多可用的开源 。

Tickcount是好的,但是我build议运行100或1000次,并计算平均值。 不仅使其更具可衡量性 – 在function非常快/短的情况下,还可以帮助处理由开销引起的一次性影响。