有没有办法在 Windows 上测量时间到微秒精度? [复制]
Posted
技术标签:
【中文标题】有没有办法在 Windows 上测量时间到微秒精度? [复制]【英文标题】:Is there a way to measure time to microseconds precision on Windows? [duplicate] 【发布时间】:2014-01-10 06:46:02 【问题描述】:我的问题:
从服务器接收广播。
从我的中间层接收广播。
在这里,我在同一毫秒内接收到服务器UDP 应用程序中的两个广播。如何找到它们之间的差异到微秒精度?
如何以微秒级精度测量时间?
【问题讨论】:
【参考方案1】:使用QueryPerformanceCounter。这取决于机器,但如今大多数处理器的运行速度都非常快,而且精度会超过微秒。
【讨论】:
C++11 包装器是std::chrono::high_resolution_clock
。它的分辨率通常为 100 纳秒。【参考方案2】:
在 1990 年代,我编写了在 MS-DOS 上运行的程序,该程序使用了位于密歇根州 Mt. Pleasant 的一家名为 Ryle Design 的公司名为个人计算机高分辨率定时 (PCHRT) 的产品。
他们的产品提供了一个提供微秒级分辨率的例程库。通过直接与当时 PC 中的 8253 或 8254 计时芯片连接,它运行良好。
如果你能找到 Ryle Design,他们可能已经找到了在 Microsoft Windows 下提供高分辨率时序的方法。
当 Windows 取代 MS-DOS 时,我不得不放弃该产品并使用 microcontroller 将我的产品转移到自定义硬件中以实现高分辨率计时。我找不到在 Microsoft Windows 下获得高分辨率计时的方法。
这篇文章虽然已有多年历史,但可能会有所帮助:
http://msdn.microsoft.com/en-us/magazine/cc163996.aspx
【讨论】:
MSDN 链接(实际上)已损坏。它重定向到一个通用的 MSDN 页面。 你在开玩笑吗?你建议直接与硬件接口?以上是关于有没有办法在 Windows 上测量时间到微秒精度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章