Ich benutzen Dev-C++ 4.9.8
Ich möchte die Uhrzeit in mein Programm einlesen und damit die Laufzeit so bestimmen.
Weiß jemand wie das geht ?
mfg
wendt
Ich benutzen Dev-C++ 4.9.8
Ich möchte die Uhrzeit in mein Programm einlesen und damit die Laufzeit so bestimmen.
Weiß jemand wie das geht ?
mfg
wendt
Hallo
Ich möchte die Uhrzeit in mein Programm einlesen
und damit die Laufzeit so bestimmen.
Weiß jemand wie das geht ?
Um die *Laufzeit* zu bestimmen, würde ich
eher clock() aus time.h erwägen:
#include
int brauchstdu\_lange\_rechenzeit()
{
/\* rechnet
hier
ziemlich
viel \*/
return 0;
}
int main()
{
time\_t t0 = clock();
brauchstdu\_lange\_rechenzeit();
t0 = clock() - t0;
double sekunden = (double)t0 / CLOCKS\_PER\_SEC;
/\* gib die Zeit in Sekunden aus \*/
return 0;
}
Das liefert iirc eine Genauigkeit
von 1/18 sek (auf Dos/Win). Wenn Du es
*Maximal*-genau haben willst, musst Du
den TSC (time stamp counter) der CPU
auslesen.
Links: http://www.willemer.de/informatik/cpp/timelib.htm
http://www.cs.utah.edu/dept/old/texinfo/glibc-manual…
http://www.wolfgang-rolke.de/dev_tips/dev_03.htm
Grüße
CMБ
Das liefert iirc eine Genauigkeit
von 1/18 sek (auf Dos/Win). Wenn Du es
*Maximal*-genau haben willst, musst Du
den TSC (time stamp counter) der CPU
auslesen.
Bitte lies nie, nie, nie den TSC direkt aus. Das Ding ist eine Fehlgeburt sondergleichen, besonders in einer Zeit, in der ein Prozessor wild seine Taktfrequenz ändern kann. Praktisch alle Betriebssysteme stellen eine mehr oder weniger gut kompensierte Abstraktion einer Zeitquelle zur Verfügung, die auch im Rahmen der vom System überhaupt ermöglichten Genauigkeit akzeptable Ergebnisse liefert.
Auf POSIX-Systemen: gettimeofday()
Unter Windows gibt es den Performance Counter, zu dem MSDN bestimmt eine Menge Informationen hat.
Diese Zeitquellen basieren zwar in vielen Fällen auch auf dem TSC, haben aber den Vorteil, dass sie für das Programm transparent auf andere Zeitquellen wie den PM-Timer oder sogar einen HPET umgestellt werden können.