Kod
#include <windows.h>
class timer {
private:
LARGE_INTEGER lpFrequency;
LARGE_INTEGER Start, End;
bool started;
public:
timer() : started(false) {}
void start()
{
started = true;
QueryPerformanceFrequency(&lpFrequency);
QueryPerformanceCounter(&Start);
}
void stop()
{
QueryPerformanceCounter(&End);
started = false;
}
double report()
{
if (started) stop();
double t1, t2, fr;
fr = (double)lpFrequency.QuadPart;
t2 = (double)End.QuadPart;
t1 = (double)Start.QuadPart;
return ((t2-t1)/fr);
}
};
Uzywasz tak:
Kod
timer t;
t.start();
// jakis kod do pomiaru
t.stop();
printf("%.10f", t.report());
Dokladnosc tego jest bardzo duza.