Zeitmessung in millisekunden
-
Messe mit
time_t start, finisch; time(&start); //Programm time(&finisch); return difftime(finisch,start);
bekomme die differenz in sec würde es gerne in millisekunden haben.
-
Soweit ich das weiß gibt difftime ein
double
zurück.Also mach doch einfach folgendes:
double x = difftime(finisch, start) * 1000.0f;
Ansonsten musst du einfach mehr Code posten. Mir erschließt sich das Problem nicht.
PS: Es heißt finish und nicht finisch :p
-
lol das mit dem finish ist natürlich peinlich, habe ich aber ganz übersehen.
Ne, leider geht es nicht.
Wenn ich unter einer sec bin dann bekomme ich 0 als Ergebnis.
-
Dann musst du für eine höhere Genauigkeit auf die Funktionen deinens Betriebssystems zurückgreifen.
Nutzt du Windows? Dann wäre QueryPerformanceCounter ein Stichwort.
-
-
clock_t zeit1 , zeit2; zeit1 = clock(); // tue irgendwas... zeit2 = clock(); cout << "Vergangene Zeit in Millisekunden: " << (zeit2-zeit1) << "\n";
-
Don Carsto schrieb:
clock_t zeit1 , zeit2; zeit1 = clock(); // tue irgendwas... zeit2 = clock(); cout << "Vergangene Zeit in Millisekunden: " << (zeit2-zeit1) << "\n";
Nicht in Millisekunden, in Ticks. Der Umrechnungsfaktor zu Sekunden steht in CLOCKS_PER_SEC
-
Okay, habs gerade mal nachgelesen. tatsächlich, aber seltsamerweise spuckt mein System ohne jegliche Umrechung die Zeitdifferenz in Millisekunden aus.
Habe es mehrfach nachgemessen.Heißt das, daß CLOCKS_PER_SEC bei mir dann genau 1 ist?
Gruß,
DC
-
Habs mal nachgeschaut:
/* * Number of clock ticks per second. A clock tick is the unit by which * processor time is measured and is returned by 'clock'. */ #define CLOCKS_PER_SEC ((clock_t)1000)
Bei mir ist 1 Sekunde exakt 1000 Ticks.
Das erklärt, warum bei mir auch Millisekunden gemessen werden.
Cool.
-
/* ISO/IEC 9899:1990 7.12.1: <time.h> The macro `CLOCKS_PER_SEC' is the number per second of the value returned by the `clock' function. */ /* CAE XSH, Issue 4, Version 2: <time.h> The value of CLOCKS_PER_SEC is required to be 1 million on all XSI-conformant systems. */ # define CLOCKS_PER_SEC 1000000l