Hallo,
Ik ben opzoek naar een manier om binnen een proces nauwkeurig een tijdverschil te meten. Denk hierbij aan het meten hoelang het duurt voordat een stuk code of een functie er over doet.
Het is mijn bedoeling dit in milliseconden te doen, preciezer hoeft niet.
Mijn eerste gedachte was gettimeofday( ) maar daarmee krijg ik op een één of andere manier rare resultaten.
...levert dingen op behoorlijk die afwijken met het timen van het process met het Unix 'time' commando.
Volgens mij is alles gewoon in orde, naar mijn idee klopt de nauwkeurigheid gewoon niet.
Weet iemand of er een manier bestaat die platform onafhankelijk is? Een LIBC functie die de huidige tijd (correct) in milliseconden geeft zou in theorie genoeg zijn.
Dank!
Ik ben opzoek naar een manier om binnen een proces nauwkeurig een tijdverschil te meten. Denk hierbij aan het meten hoelang het duurt voordat een stuk code of een functie er over doet.
Het is mijn bedoeling dit in milliseconden te doen, preciezer hoeft niet.
Mijn eerste gedachte was gettimeofday( ) maar daarmee krijg ik op een één of andere manier rare resultaten.
C:
1
2
3
4
5
6
7
| timeval tval, tval1; gettimeofday( &tval, 0 ); // doe iets gettimeofday( &tval1, 0 ); printf( "Verstreken tijd: %f", (float)(tval1.tv_usec - tval.tv_usec) / 1000.0 ); |
...levert dingen op behoorlijk die afwijken met het timen van het process met het Unix 'time' commando.
Volgens mij is alles gewoon in orde, naar mijn idee klopt de nauwkeurigheid gewoon niet.
Weet iemand of er een manier bestaat die platform onafhankelijk is? Een LIBC functie die de huidige tijd (correct) in milliseconden geeft zou in theorie genoeg zijn.
Dank!
[ Voor 3% gewijzigd door phaas op 21-06-2005 20:19 ]