【发布时间】:2014-12-26 13:30:24
【问题描述】:
我想看看 1 纳秒在我的笔记本电脑上需要多少个周期。
笔记本电脑配置:
- 处理器:Intel Centrino Duo 2.0 GHz (T7200)
- 内存:2 GB
以下是计数:
- 1 秒耗时:1995198000(接近 20 亿滴答声,没关系)
- 1 毫秒:2,159,460(接近 200 万,可以)
- 1 微秒:507,408(为什么?)
- 1 纳秒:139,000(为什么?)
直到 1 微秒,滴答声与频率一致。然而,在这之下,它不是。此外,我可以可靠地使用循环计数来区分 100 纳秒和 200 纳秒,而不是低于此值。
测量设置:
- 测量过程连接到一个处理器。
- 进程的优先级设置为最高。
- CPU 设置为始终以最高频率运行。
谁能解释原因?是因为睡眠(我使用的是 nanosleep)以这种方式实现的。 ?
【问题讨论】:
-
愚蠢的问题,但是您如何测量时间,尤其是非常短的持续时间?
-
我正在使用 rdtsc 读取 TSC。
-
使用不太准确的时间测量方法 (nanosleep) 与更准确的时间测量方法 (TSC) 进行比较是没有意义的。