c++ - 如何使用 linux 获取以滴答为单位的时钟周期值?

标签 c++ c linux timer clock

在 linux 中获取时间戳与 linux 中的时钟周期相同。 我知道如何获取时间戳,但我现在不知道如何以滴答为单位获取时钟周期。 有人能告诉我这两者有什么区别吗?? 有人可以给我一个时钟周期的小例子吗??

期待您的回复。

额外:我正在尝试使用简单标量模拟器在 pisa 体系结构中添加用于计时的汇编指令。对于我的说明,我应该访问时钟周期并将其存储在寄存器中。

最佳答案

嗯,有:

  1. Ticks. Modern kernels don't use them .
  2. Timestamp counter ,这是您可能喜欢用于高分辨率时间测量的内容,但您必须了解如何使用它进行无偏测量。
  3. 时钟,可移植 clock_gettime,纳秒级分辨率,通常足以满足所有需求。

如果您想访问 CPU 性能寄存器,可以从 Intel® Performance Counter Monitor inside your programs 开始.

关于c++ - 如何使用 linux 获取以滴答为单位的时钟周期值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136741/

相关文章:

c++ - 双指针有什么实际用途?

c - Visual Studio 未解析的符号 _InterlockedCompareExchange

c - GNU C 编译器破坏未定义的行为

c - Linux 上的管道读取是原子的吗(多个作者,一个读者)?

linux - 如何在 Shell 脚本中修复 "cannot open shared object file"?

linux - 使用bash根据文件名(日期)移动日志文件

c++ - 在 Qt 中为整个小部件设置样式表

c++ - 关闭后如何销毁子窗口?

c++ - 头文件和库有什么区别?

c - 术语和代码行的平等