return_elapsed_time akkumuliert
Von: , Frage gestellt am Di, 8. Mai 2001
Liebe Experten,
ich schreibe da gerade ein C++ Programm, das unter Linux (SuSE 6.4 oder SuSE 7.1) mit dem GCC und der libg++ compiliert wird.
Dabei benutze ich die Funktion return_elapsed_time(), die -laut doku (info libg++)- mit einem Argument von 0 die Zeit seit dem letzen start_timer()-Aufruf zurueckliefern soll.
Leider akkumuliert die Zeit seit dem _ersten_ start_timer()-Aufruf
Ein Beispiel:
# include <iostream>
# include <builtin.h>
# include <cmath>
void perform_complex_operation (void) {
sleep(1);
double val = (pow(sin(4.3),3.1)*tan(3.22))/(cos(0.0002)+sin(1.1111));
double val2 = val/(pow(sin(4.3),3.1)*tan(3.22))/(cos(0.0002)+sin(1.1111));
}
int main (void) {
unsigned int i = 10;
while(i--) {
start_timer();
perform_complex_operation();
cout << i << " " << return_elapsed_time(0) << endl;
}
return(0);
}
Compilieren mit:
gcc -o test_timer test_timer.cc -lg++
Kann mir da jemand weiterhelfen? Was mache ich falsch, wo steckt der Gedankenknoten?
