2
A
回答
4
Stopwatch
类是你可以得到的最好的精度,它使用高频定时器。
秒表的频率取决于CPU的频率,但其频率通常为每秒百万次。
如果CPU没有提供高频定时器,那么该类将回退到每秒100-50次的系统定时器。
2
3
使用Stopwatch类,应该做的伎俩。
1
6
System.Diagnostics.Stopwatch对于您的时间粒度这个级别是正确的级别,但请确保您使用秒表对象的Elapsed.Ticks
属性而不是其ElapsedTicks
属性,因为它们是两个不同的东西。
ElapsedTicks
(无点)是指秒表的蜱的数目,并因此需要在音乐会中使用与Stopwatch.Frequency
(这是不一样的所有机器上)来计算所经过的时间。Elapsed.Ticks
(与点)给出了Timespan
刻度的数量,并且不依赖于秒表频率。
这可能是在.NET中的微妙潜在错误之一。
此外,提防秒表是高度细化,但它不一定是所有的准确(取决于您的用语的定义)。 Stopwatch返回的时间会偏离系统时间。
在我的笔记本电脑上,秒表几乎跑了5秒24小时,这种情况在其他一些机器上会更糟。
如果你计时较短的时间,当然,这种影响应该不重要。
+0
请注意,由于CPU上的节电措施,秒表可能在笔记本电脑上不准确,但现代英特尔i7或更新版本不会遇到此问题。换句话说,如果你在工作电脑上进行计时,事情会更加准确。 – Contango 2012-02-14 10:22:57
0
我发现了一个稍微更精确的方法,然后StopWatch,PerformanceCounters和我遇到的每个其他实现,不需要平台调用或其他。
让我知道你是否发现,否则!
相关问题
- 1. 精确的时间度量在Java中
- 2. FPGA测量精确时间
- 3. C++:更精确的时间间隔
- 4. 在PHP中获取精确时间
- 5. C++中的便携式精确双精度时间戳?
- 6. 要测试精确时间匹配的时间间隔
- 7. 在LINQ中确定日期时间值与精确精度的相等性
- 8. 为什么Thread.Sleep长时间不精确?
- 9. Play Framework - 精确时间安排任务
- 10. 从simcard读取精确时间
- 11. 在精确的时间运行子程序,精度为0.1s,精度为perl
- 12. .NET 2.0更精确的PNG库?
- 13. 获得一个精确的时间间隔
- 14. 以精确的时间间隔执行代码
- 15. 如何在Python中获得精确的文件创建时间?
- 16. 精确的过程事件时间表图(如在Excel中)
- 17. 如何在html中获得精确的持续时间
- 18. 获取小数位的精确精度从双在.net 3.5
- 19. 如何使用MySQL和Sqlite3的时区精确时间?
- 20. .Net API以获得Internet时间服务器的确切时间
- 21. Python中的精确循环时序
- 22. python中最精确的计时函数
- 23. 从R中的精确数据创建15分钟的时间间隔?
- 24. threading.Timer时间精度
- 25. __time32_t时间精度?
- 26. 在Windows cmd中将系统时间精确到毫秒
- 27. 如何在Python中精确计算日期和时间?
- 28. .NET中的时间戳
- 29. 让所有的维基百科文章与精确的时间
- 30. Rails:JSON中的时间#to_f精度?
这个问题似乎是(更糟糕的)重复http://stackoverflow.com/questions/307582/how-frequent-is-datetime-now-updated-or-is-there-a-more-precise- api-to-get-the,但我更喜欢答案。 – Abacus 2013-12-19 21:04:52