Mam problem z dojsciem do tego w jakich jednostkach zwracany jest czas.
Gdy ustawie w Visual'u Sleep(10) - > dostaje Time: 34865 , dla Sleep(100) - > Time : 244653.
Jak widac nie jest to prosta wieloktrotnosc.
LARGE_INTEGER startTimer()
{
LARGE_INTEGER start;
DWORD_PTR oldmask = SetThreadAffinityMask(GetCurrentThread(), 0);
QueryPerformanceCounter(&start);
SetThreadAffinityMask(GetCurrentThread(), oldmask);
return start;
}
LARGE_INTEGER endTimer(){
LARGE_INTEGER stop;
DWORD_PTR oldmask = SetThreadAffinityMask(GetCurrentThread(), 0);
QueryPerformanceCounter(&stop);
SetThreadAffinityMask(GetCurrentThread(), oldmask);
return stop;
}
LARGE_INTEGER performanceCountStart,performanceCountEnd;
performanceCountStart = startTimer(); //zapamietujemy czas poczatkowy
//tutaj funkcje, ktorych mierzymy wydajnosc
...
performanceCountEnd = endTimer(); //zapamietujemy koniec czasu
double tm = performanceCountEnd.QuadPart - performanceCountStart.QuadPart;
cout << endl << "Time:" <<tm <<endl;