gpt4 book ai didi

c - Linux 上精确的进程间计时器

转载 作者:IT王子 更新时间:2023-10-29 01:27:15 25 4
gpt4 key购买 nike

我想测量发送进程和消费者之间的ping时间。
两个进程都在同一台物理主机上运行,​​Linux 64 位。

我目前正在使用 clock_gettime(CLOCK_REALTIME, &cur_ts);。我基本上捕获当前时间戳 cur_ts 并将其发送到消费者进程;一旦在另一端收到它,我就会在第二个过程中再次调用 clock_gettime(CLOCK_REALTIME, &cur_ts); 并减去两次。

此过程是否可以准确测量两个进程之间的 ping?我应该使用不同的东西吗?

谢谢

最佳答案

您使用的是正确的界面。这是现代 Loonix 中可用的 Posix 指定的 HRT(高分辨率计时器),您的使用是规范标准。

对于 ping 分辨率,这可能无关紧要,但可以使用 CLOCK_MONOTONIC,,尤其是对于短时间间隔。在其他情况下,CLOCK_REALTIME 可能更准确。然而,这些时钟的确切含义并没有由 Posix 指定,在 Linux 上,我相信它们都需要进行 NTP 调整。至少对于长间隔来说,这是一件好事。

在 Linux 上,要在不进行 NTP 调整的情况下访问底层硬件时钟,您必须取消 Posix 预留并使用 CLOCK_MONOTONIC_RAW。

http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html

关于c - Linux 上精确的进程间计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15733316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com