在Win32中获取CPU周期数,可以使用Windows API中的QueryPerformanceCounter函数。以下是一个简单的示例代码:
#include<windows.h>
#include<iostream>
int main() {
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
LARGE_INTEGER start;
QueryPerformanceCounter(&start);
// 在这里执行你的代码
LARGE_INTEGER end;
QueryPerformanceCounter(&end);
double cycles = static_cast<double>(end.QuadPart - start.QuadPart);
double seconds = cycles / static_cast<double>(frequency.QuadPart);
std::cout << "CPU cycles: "<< cycles<< std::endl;
std::cout << "Time elapsed: "<< seconds << " seconds"<< std::endl;
return 0;
}
在这个示例中,我们首先使用QueryPerformanceFrequency函数获取CPU的频率,然后使用QueryPerformanceCounter函数获取CPU周期数。在执行完我们的代码之后,我们再次调用QueryPerformanceCounter函数来获取CPU周期数,并计算出执行代码所需的时间。最后,我们输出CPU周期数和执行时间。
领取专属 10元无门槛券
手把手带您无忧上云