衡量函数执行时间的最佳方法是什么?
显然我可以做和DateTime.Now.After
– DateTime.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非常快/短的情况下,还可以帮助处理由开销引起的一次性影响。