我想测量的一些东西非常短,如果我不在中间运行任何设置/配置代码,我只能重复这么多次。
注意:在linux上,阅读/ proc / stat
答案 0 :(得分:0)
不太便携,你必须非常小心,因此它是可靠的,但Time Stamp Counter肯定有最高的分辨率(每个CPU滴答都会增加)。
时间戳计数器有,直到 最近,一直很优秀 高分辨率,低开销的方式 获取CPU时序信息。同 多核/超线程的出现 CPU,具有多个CPU的系统,以及 “冬眠”操作系统 TSC不能依赖提供 准确的结果 - 除非非常小心 采取纠正可能的 缺陷:滴答率和是否全部 核心(处理器)具有相同的 他们的计时价值 寄存器。没有承诺 多个时间戳计数器 单个主板上的CPU将是 同步。在这种情况下, 程序员只能获得可靠性 将代码锁定到a的结果 单CPU。即使这样,CPU速度也是如此 可能因节电而改变 操作系统或BIOS采取的措施,或 系统可以休眠,然后再进行 恢复(重置时间戳 计数器)。在后一种情况下,到 保持相关,柜台必须 定期重新校准(根据 到你的时间决议 申请要求)。
页面上还有一些关于Linux特定解决方案的说明:
在Linux下,类似的功能是 通过阅读的价值提供 使用POSIX的CLOCK_MONOTONIC时钟 clock_gettime函数。