Navigation
Artikel
Stuff
RSS Feeds
|
Sourcecodes - Zeitmessung mit C++ mit dem QueryPerformanceCounterSprachenübersicht/C / C++/ C#/System Keywords: Zeit, Time, QueryPerformanceCounter Eine Möglichkeit zur genauen Zeitmessung stellt der Performance Counter dar. Das ist ein Hardwarebaustein, der mit 3,19 MHz getaktet wird, und somit 0,313 mikrosekunden genau ist. Die Windows Timer Nachricht hat eine niedrige Priorität und kann untergehen. Seit dem Pentium ist er AFAIK in allen PCs vorhanden.
Code: #include <windows.h> #include <iostream> //Variablen LONGLONG g_Frequency, g_CurentCount, g_LastCount; //Frequenz holen if (!QueryPerformanceFrequency((LARGE_INTEGER*)&g_Frequency)) std::cout << "Performance Counter nicht vorhanden" << std::endl; //1. Messung QueryPerformanceCounter((LARGE_INTEGER*)&g_CurentCount); Sleep(10); // Sleep ist ungenau, darum wird nicht 10ms herauskommen //2. Messung QueryPerformanceCounter((LARGE_INTEGER*)&g_LastCount); double dTimeDiff = (((double)(g_LastCount-g_CurentCount))/((double)g_Frequency)); std::cout << "Zeit: " << dTimeDiff << std::endl;
Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren? Sprachenübersicht/C / C++/ C#/System/Zeitmessung mit C++ mit dem QueryPerformanceCounter |