Re: Microsecond accuracy

Christopher Friesen
2000-12-07T17:35:38Z

Kotsovinos Vangelis wrote:
>
> Is there any way to measure (with microsecond accuracy) the time of a
> program execution (without using Machine Specific Registers) ?
> I've already tried getrusage(), times() and clock() but they all have
> 10 millisecond accuracy, even though they claim to have microsecond
> acuracy.
> The only thing that seems to work is to use one of the tools that measure
> performanc through accessing the machine specific registers. They give you
> the ability to measure the clock cycles used, but their accuracy is also
> very low from what I have seen up to now.

Can you not just use something like gettimeofday()? Do two consecutive calls to
find the execution time of the instruction itself, and then do two calls on
either side of the program execution. Subtract the instruction execution time
from the delta, and that should give a pretty good idea of execution time.

On a 400Mhz G4, getttimeofday() consistantly takes 2 microseconds to run.

--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com