Windows 上的 C 中的硬件计时器



如何在操作系统Windows上实现硬件计时器。我需要以毫秒和纳秒为单位测量计算。

for (i=0;i<1024;i++){
//start timer
//computations
//end timer
//printf result(end - start)
}

尝试使用 QueryPerformanceFrequency 和 QueryPerformanceCounter 方法来获取亚毫秒分辨率的时间:

LARGE_INTEGER cpu_khz, start_time, end_time;  
QueryPerformanceFrequency(&cpu_khz);
for (i=0;i<1024;i++) {
QueryPerformanceCounter(&start_time); 
// computations
QueryPerformanceCounter(&end_time); 
double delta_time = (start_time.QuadPart-end_time.QuadPart) / (double)cpu_khz.QuadPart;
printf("took %.3f seconds", delta_time);
}

最新更新