可能重复:
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。我的电脑是双核的,这有所不同吗?