Как реализовать аппаратный таймер на ОС Windows. Мне нужно измерять вычисления в миллисекундах и наносекундах.
for (i=0;i<1024;i++){
//start timer
//computations
//end timer
//printf result(end - start)
}
Как реализовать аппаратный таймер на ОС 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);
}