有没有办法在 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 上测量时间到微秒精度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java中的当前时间(以微秒为单位)

如何在windows开发环境下得到精确到微秒的系统时间?

以微秒精度获取时间点

Python中的高精度时钟

Windows 上程序的 CPU 使用率测量

有没有办法获得5-10 mts的恒定精度?