gettimeofday 系统调用能精确到多少?

2010-02-14 05:18:30
虽然说 timeval 结构的表达范围可以精确到微秒,不过我还是不太清楚系统能不能测到那么精确的时间~
硬件平台就最普通的 x86-64。
...全文
384 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
谭海燕 2010-02-16
  • 打赏
  • 举报
回复
引用 5 楼 hpsmouse 的回复:
引用 2 楼 feiyinzilgd 的回复:
gettimeofday()和times,clock类似。但是,没有他们准确,而且没有times,clock稳定。
times 和 clock 的确稳定,至于准确么……至少我的系统上 clock 只能精确到 10 ms。
另外,好像测量实时时间和测量程序运行时间不是一回事吧……




汗。。。


那个说是一回事。。times 等还是对于不同的内核,比如2.4和2.6的准确定义是不一样的。

关于这3个函数的关系,你可以 man(2) times。

里面有比较详细的对比和解释,如果你比较擅长阅读英文的话。
2010-02-16
  • 打赏
  • 举报
回复
引用 2 楼 feiyinzilgd 的回复:
gettimeofday()和times,clock类似。但是,没有他们准确,而且没有times,clock稳定。

times 和 clock 的确稳定,至于准确么……至少我的系统上 clock 只能精确到 10 ms。
另外,好像测量实时时间和测量程序运行时间不是一回事吧……
2010-02-15
  • 打赏
  • 举报
回复
刚刚看了“时光倒流”的那个帖子,个人感觉如果用整型代替浮点可以大大降低出错概率到不可测的程度,那么极有可能是因为浮点精度问题,毕竟表示一个 timeval 需要的精度已经逼近 double 的极限了。
steptodream 2010-02-14
  • 打赏
  • 举报
回复
达到微妙是没问题
楼上说的时光倒流 学习了 以前还真不知道有这个现象 所以楼主要连续2次使用就要注意了
http://www.ibm.com/developerworks/cn/linux/l-time/part2/index.html

不过有网友说 通过代码的技巧可以降低这个概率
http://bbs.chinaunix.net/viewthread.php?tid=899032
谭海燕 2010-02-14
  • 打赏
  • 举报
回复


可以达到。一般情况下,都可以满足微妙级别的。
gettimeofday()和times,clock类似。但是,没有他们准确,而且没有times,clock稳定。
不过网上流行一种说法:
连续两次使用gettimeofday时,会以一种小概率出现"时光倒流"的现象,第二次函数调用得到的时间要小于或说早于第一次调用得到的时间。
pagertiger 2010-02-14
  • 打赏
  • 举报
回复
http://hi.baidu.com/ybzzzzz/blog/item/2bf442181f6e8db24bedbc6d.html

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧