【发布时间】:2010-09-28 11:38:30
【问题描述】:
System.Diagnostics.Stopwatch 的准确性如何?我正在尝试为不同的代码路径做一些指标,我需要它是准确的。我应该使用秒表还是有其他更准确的解决方案。
有人告诉我,有时秒表会提供不正确的信息。
【问题讨论】:
-
毫秒精度够吗?应该足以满足您的目的。定义“准确”。
-
我知道它可以给你几毫秒,但我被告知在很多情况下它不准确
-
永远不要依赖对任何事物的单一测量来确保准确性。运行每个代码路径几分钟并计算迭代次数以获得平均值。
-
我已经写了一篇关于这个的文章。它显示了如何从秒表类中获得良好的测量结果:codeproject.com/KB/testing/stopwatch-measure-precise.aspx
-
顺便说一句,由于这是一个非常古老的问题,在较新的硬件上运行的较新的 .NET 中,秒表的准确性要好得多,因为(正如 Lee Grisholm 在对 Kernelman 答案的评论中所说),它是现在是 QueryPerformanceCounter 的包装器。
标签: c# .net performance stopwatch