5

我有一个程序来计算 pub-sub 模型中对象的延迟。我已将以下函数用于时间戳:

uint64_t GetTimeStamp() {
    struct timeval tv;
    gettimeofday(&tv,NULL);
    return tv.tv_sec*(uint64_t)1000000+tv.tv_usec;
}

延迟以发布者和订阅者的时间戳差异来衡量。所以,我担心测量的延迟单位。是秒还是微秒??

4

2 回答 2

8

timeval结构具有tv_sec,它为您提供秒的绝对值,以及tv_usec,它为您提供以微秒为单位的剩余分数。

因此,您可以在微秒内获得分辨率。

如需更多信息,请访问 http://www.gnu.org/software/libc/manual/html_node/Elapsed-Time.html

于 2013-07-25T06:31:16.137 回答
4

tv.tv_sec 给出第二个计数,tv.tv_usec 给出剩余的微秒计数。

对于 gettimeofday() 原理及其准确性:

linux gettimeofday()的微秒时间是怎么得到的,它的精度是多少?

gettimeofday() 是否保证为微秒级分辨率?

于 2013-07-25T06:34:47.850 回答