Ciao a tutti,
sto utilizzando la gettimeofday per temporizzare una porzione di codice. Vorrei riportare il tutto in secondi. Quello che non mi torna è che risulta un fattore 10 in più. Forse sbaglio qualcosa nella conversione ( per semplicità non riporto tutto il codice, solo l'essenziale):
Codice:
gettimeofday(&first, NULL);
funzione(tt);
gettimeofday(&second, NULL);
elapsed_seconds = second.tv_sec - first.tv_sec;
elapsed_useconds = second.tv_usec - first.tv_usec;
elapsed_utime = (elapsed_seconds)* 1000000 + elapsed_useconds;
cout << ((double)elapsed_utime)*10E-6 << endl;
Ad esempio, richiamando più volte tale temporizzazione, risulta un tempo rilevato di 500 secondi quando in realtà ne sono passati 50 dall'esecuzione dell'intero programma. Inoltre, periodicamente compaiono valori assurdi:
0.052344
0.051705
0.051464
0.051356
0.051562
0.051449
0.051262
0.051293
0.051459
0.053443
0.052198
0.051441
9.05225 ( 9 secondi??)
0.051359
0.051706
Grazie in anticipo