View Single Post
Old 15-09-2009, 09:36   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6172
[C++, C] Temporizzazioni

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

Ultima modifica di Unrue : 15-09-2009 alle 09:44.
Unrue è offline   Rispondi citando il messaggio o parte di esso