2

可能重复:
使用 RDTSC 获取 cpu 周期 - 为什么 RDTSC 的值总是增加?
获取 CPU 周期数?

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

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

我在这里找到了这段代码:

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

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

我运行 Linux。我的电脑是双核的,有区别吗?

4

1 回答 1

1

你看过电话clock吗?

记录在这里,并且似乎是您想要的。

于 2012-12-18T20:49:22.640 回答