Genaue Zeitmessung in C
-
- QueryPerformanceFrequency/QueryPerformanceCounter
- GetTickCount (Auflösung ca. 16ms)
- GetSystemTimeAsFileTime (Auflösung ca. 100ns)
-
Hallo Wutz,
Vielen Dank für deine Antwort, dann werde ich mir GetSystemTimeAsFileTime anschauen. 100ns tönt schon mal sehr ansprechend.
Viele Grüsse
Annn
-
Stimmt aber leider nicht, GetSystemTimeAsFileTime ist auch nicht genauer als GetTickCount.
-
Hallo hustbaer,
Danke, für deine Antwort. Ja, das wurde mir soeben auch bewust. Eigentlich komisch, denn auf der API- steht ja, dass tatsächlich 100ns Blöcke gemessen werden.
Ich habe hier noch was anderes gefunden:
http://www.refcode.net/2013/02/gettimeofday-for-windows_13.html
was denkt ihr davon? Um ehrlich zu sein verstehe ich den Code nicht ganz.
Es muss doch auch mit Windows möglich sein die Zeit genau zu messen...
Vielen Dank
Annn
-
Annn schrieb:
Es muss doch auch mit Windows möglich sein die Zeit genau zu messen...
Willst du wirklich die Uhrzeit so genau messen?
So genau ist keine Computeruhr gestellt. Oder eher Zeitabstände? Dafür hast du doch schon Antworten bekommen. Bitte vollständig lesen:
Wutz schrieb:
- QueryPerformanceFrequency/QueryPerformanceCounter
- GetTickCount (Auflösung ca. 16ms)
- GetSystemTimeAsFileTime (Auflösung ca. 100ns)
- QueryPerformanceFrequency/QueryPerformanceCounter
-
Hallo, auch danke an dich. Nein, die Uhrzeit ist mir eigentlich egal, ich möchte nur Zeitabstände messen.
Aber wie hustbaer schon gesagt hat, ist auch GetSystemTimeAsFileTime nicht wirklich genau... Ich kriege da keine Auflösung von 100ns hin...
Vielleicht mache ich aber auch etwas falsch. Würdest du sagen, mit GetSystemTimeAsFileTime kriege ich eine Genauigkeit von einigen us für Zeitabstände hin?
Danke, Annn
-
Wenn du (kurze) Zeitabstände messen willst, dann nimm QueryPerformanceCounter. Wurde jetzt doch schon mehrfach geschrieben
-
Hallo, ja dann wird mir wohl nicht viel anderes übrig bleiben. Aber:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q274323&
Deshalb zögere ich ein bisschen.
Annn
-
Zähle doch die CPU-Ticks, da ist das OS dann egal.
-
CPU Ticks zählen... Ist das nicht ein bisschen gefährlich bzw. unzuverlässig auf Multicore und Multithreading Systemen?! Könnt ja Gott weiß was für ein anderer Prozess dazwischen kommen...