Probleme mit clock()
-
Hi,
ich möchte in meinem Programm ne Ping ermitteln. Mir ist nichts besseres eingefallen, als einen Timer dafür zu verwenden:
long timer=0; { float msecs = (clock() / (float) CLOCKS_PER_SEC) * 1000.0f; // (*) timer += msecs; } // ... { float msecs = (clock() / (float) CLOCKS_PER_SEC) * 1000.0f; timer -= (long)msecs-timer; }
An der Stelle (*) hat msecs einen Wert zwischen 0 und 300, obwohl dort der Prozess meist schon 5 Sekunden läuft. Noch erstaunlicher sind die Ergebnisse: der Timer hat am Ende zwischen 0 und 10 Millisekunden - der Request braucht aber über 50! An der Auflösung scheints nicht zu liegen, CLOCKS_PER_SEC ist bei mir 1 Million...
Wieso ist mein Timer-Wert so komisch? Ich komme einfach nicht dahinter! oO
Danke für Antworten im Voraus!
voidpointer
-
Kann mir jemand eine Alternative zu clock() unter Linux nennen, die POSIX Standard ist?