有誰知道HiPerfTimer或StopWatch類是否更適合基準測試,爲什麼?高性能計時器vs秒錶
回答
Stopwatch基於高分辨率定時器(如果有的話),你可以檢查與IsHighResolution
StopWatch-它也適用於不支持高分辨率性能計數器系統,你不需要任何外部庫使用它。
如果不支持高分辨率計數器,另一個引發Win32Exception。
它們與高分辨率時序相同。
兩者都使用這樣的:
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(out long PerformanceCount);
和此:
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(out long Frequency);
做下層定時。 (你可以用Reflector.NET驗證這一點)。我會使用StopWatch,因爲它已經是框架的一部分了(不需要鏈接另一個dll),它比HiPerfTimer有更好的功能。
是的 - 但是StopWatch實際上更好,因爲它有一個後備選項。如果高性能計數器不受支持,則HiPerfTimer將引發Win32Exception。 – RichardOD 2009-09-28 07:46:01
是的,我最終放棄了HiPerfTimer。 CodeProject上的文章有點脆弱(但這個想法很好)。我還推薦StopWatch,它更強大,並且在QueryPerformanceFrequency失敗時會有一個默認值,這與Shay提到的IsHighResolution有關。 – ParmesanCodice 2009-09-28 07:50:49
- 1. 性能計數器vs ETW
- 2. 數據中心vs高性能計算
- 3. 秒錶和計時器
- 4. Javascript秒錶性能
- 5. ARM性能計數器vs linux clock_gettime
- 6. 一秒計時器
- 7. 跟蹤性能機器人用秒錶
- 8. 表VS臨時表的性能
- 9. VS-C#計時器的準確性
- 10. 如何創建秒錶計時器
- 11. Powershell計時器/秒錶準確度
- 12. 秒錶(計時器)不起作用
- 13. 帶計時器的Java秒錶
- 14. 更精確的計時器比秒錶?
- 15. nodejs計時器性能
- 16. EJB計時器性能
- 17. 提高SQLite的每秒更新性能?
- 18. 每秒提高性能刷新項目
- 19. 不能倒數計時器有100秒秒
- 20. Azure可以計算高可用性vs NEO4J高可用性嗎?
- 21. 計時器每秒鐘幾秒
- 22. .NET秒錶 - 性能損失
- 23. 5秒倒數計時器
- 24. 推秒倒數計時器
- 25. 分秒倒數計時器
- 26. 毫秒計時器在cocos2d
- 27. jQuery毫秒計時器?
- 28. Android:毫秒計時器?
- 29. 毫秒計時器MATLAB
- 30. 運行計時器30秒
它的日期是2002年,當時是.NET 1.1。 +1 – nawfal 2013-04-22 12:58:54