C# 测量函数执行时间的最佳方法是什么?
显然,我可以做和C# 测量函数执行时间的最佳方法是什么?,c#,performance,benchmarking,execution-time,C#,Performance,Benchmarking,Execution Time,显然,我可以做和DateTime.Now.After-DateTime.Now.Before但是肯定有更复杂的东西 任何提示都值得欣赏。和本课程是两个非常适合更高分辨率和直接使用的课程 另见: 我绝对建议您查看一下系统.诊断.秒表 当我四处寻找更多关于秒表的信息时,我发现了这个网站 还有一种可能性 Process.TotalProcessorTime Tickcount很好,但我建议运行100或1000次,然后计算平均值。 不仅使其更具可测量性-在功能非常快/短的情况下,而且有助于处
DateTime.Now.After
-DateTime.Now.Before
但是肯定有更复杂的东西
任何提示都值得欣赏。和本课程是两个非常适合更高分辨率和直接使用的课程
另见:
系统.诊断.秒表
当我四处寻找更多关于秒表的信息时,我发现了这个网站
还有一种可能性
Process.TotalProcessorTime
Tickcount很好,但我建议运行100或1000次,然后计算平均值。
不仅使其更具可测量性-在功能非常快/短的情况下,而且有助于处理由开销引起的一些一次性影响。使用探查器 尽管如此,您的方法仍然有效,但如果您正在寻找更复杂的方法。我建议使用一种新的方法 它们的优点是:
- 您甚至可以获得语句级别 分手
- 无需对代码库进行任何更改
- 仪器的开销通常非常小,因此可以获得非常准确的结果
也有许多可用的工具。使用探查器也有缺点:信息是事后的,仍然需要工具,不适合保存在生产代码中(我们可能希望测量工作应用程序,而不仅仅是在开发过程中)。最后一点:评测有时可能有些过火。这篇文章已经更新-秒表已经改进。你能告诉我关于
TotalProcessorTime
和stopwatch
的区别吗?我没有搜索任何信息。。