Zeit messen von z.B. algorithmen
-
Hi!
Wie kann ich denn mit der MFC (oder was auch immer) die Zeit messen?
wenn ich z.B. eine schleife ablaufen lasse und muss ich doch wahrscheinlich vorher und nachher die systemzeit speichern und subtrahieren. Wie mache ich das?
Ist das zu ungenau? Gibt es bessere methoden?
-
Entweder GetTickCount oder wenn es etwas genauer sein soll:
QueryPerformanceFrequency & QueryPerformanceCounter
-
Hi!
Vielen Dank!

In welchem Bereich ist GetTickCount denn noch präzise?
ms, ns ?
[ Dieser Beitrag wurde am 31.10.2002 um 15:12 Uhr von Askyer editiert. ]
-
GetTickCount gibt die Zeit seit Windowsstart in ms zurück.
Wenn es dir nicht so auf ~10ms ankommt dann kannst du die nehmen...
-
Wenn du überprüfen willst, wie schnell etwas ist.. und mit was anderem vergleichen z.B. dann würd ich deinen zu testende Anweisungen so 10000 mal ausführen, anstatt ein mal, das ERgebnis mit GetTickCount() messen, und falls nötig durhc 10000 teilen. DDann wird das präziser als wenn du so kurze zeitspannen wie 10 ms misst
-
Auch auf die Gefahr hin, dass es zu kompliziert ist:
Ich würde einen neuen Thread starten, dort dann einen Timer (Interval 1) und dann einen Zähler inkrementieren. Wenn der Thread fertig ist, kann man den Timer ja stoppen und die Sekunden berechnen.MP