Zeitmessung
← Zufallszahlengenerator | ● | Dateien →
Die Standardbibliothek stellt zur Zeitmessung die Funktion time()
bereit.
long long t=time(NULL);
Dies liefert als Funktionswert die Zeit in Sekunden seit dem 1.Januar 1970 00:00 Uhr UTC.
Zur Messung einer Zeitspanne bildet man die Differenz zweier UTC Zeitpunkte:
int dt;
t1=time(NULL);
...
t2=time(NULL);
dt=t2-t1;
Q Lesen Sie die man-pages der Funktion clock()
und finden Sie heraus, wie man eine Zeitmessung mit einer besseren Genauigkeit als 1 Sekunde erreicht.
Q Die Funktion sleep(s)
schickt das Programm für eine Zeitspanne von $s$ Sekunden schlafen. Was ist der Unterschied zum sogenannten aktiven Warten?
while (time(NULL)<c); /* busy waiting */
Bemerkung zu Zufallszahlen:
Die Folge von generierten Zufallszahlen ist bei jeder Programmausführung identisch. Der Ablauf ändert sich nur, wenn sich auch der Startwert der Zufallsfolge bei jedem Programmaufruf ändert, also zum Beispiel von der aktuellen Zeit abhängig gemacht wird:
Q Was passiert, wenn zwei Programmstarts weniger als eine Sekunde auseinander liegen?
← Zufallszahlengenerator | ● | Dateien →