CPU周期数c ++

时间:2012-12-18 20:46:02

标签: c++ optimization inline-assembly cpu-cycles

  

可能重复:
  Getting cpu cycles using RDTSC - why does the value of RDTSC always increase?
  Get CPU cycle count?

我想编写分析排序算法的C ++代码,我需要知道对数组进行排序所需的处理器周期数。

有关如何做到这一点的任何建议吗?

我找到了这段代码here

uint64_t rdtsc(){
    unsigned int lo,hi;
    __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
    return ((uint64_t)hi << 32) | lo;
}

我理解它是内联汇编,有人可以解释它是如何工作的以及如何使用它吗?

我运行Linux。我的电脑是双核的,这有所不同吗?

1 个答案:

答案 0 :(得分:1)

您是否看过电话clock

这是documented here,似乎是你想要的。