86

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

任何提示表示赞赏。

4

4 回答 4

45

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

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

小心秒表

还有提到另一种可能

Process.TotalProcessorTime

于 2008-12-19T13:14:26.553 回答
10

使用探查器

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

他们拥有的优势是:

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

也有许多可用的开源软件。

于 2008-12-19T13:18:02.067 回答
4

Tickcount 很好,但我建议运行 100 或 1000 次,然后计算平均值。不仅使它更可测量 - 在真正快速/短功能的情况下,而且有助于处理由开销引起的一些一次性影响。

于 2008-12-19T13:16:19.200 回答