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
的区别吗?我没有搜索任何信息。。