【发布时间】:2014-01-02 16:05:28
【问题描述】:
有没有办法在不使用系统时钟的情况下测量 linux/unix 中的经过时间?
问题是系统时钟在某些情况下会发生变化,并且由time 或gettimeofday 或其他类似的东西测量的经过时间会给出不正确的结果。
我正在考虑创建单独的线程,它在内部执行带有sleep(100) 的循环并计算重复次数。
有更好的解决方案吗?
【问题讨论】:
-
"在内部执行带有
sleep(100)的循环并计算重复次数"。sleep被允许无缘无故延迟返回(好吧,你的进程没有理由可以看到),所以这不一定有效。 -
你说 time 和 gettimeofday 不准确的依据是什么?
-
来自
man gettimeofday- 自 1970 年 1 月 1 日午夜(0 小时)以来的时间以 秒 和 微秒 表示。
标签: c++ linux time measure elapsedtime