clock() time travel.

Carlos O'Donell carlos@redhat.com
Thu Jan 16 16:39:00 GMT 2014


On 01/16/2014 05:54 AM, Paweł Sikora wrote:> Hi,
> 
> i've observed on my i3-540 cpu that subsequent clock() calls *sometimes* give smaller number of ticks than previous one.
> is it a known issue?
> 
> BR,
> Paweł.
> 
> % ./timing
> t[current]: 10713902 < t[previous]: 10713903
> zsh: abort (core dumped)  ./timing

This is either a compiler or kernel bug.

On glibc click() is just clock_gettime with 
CLOCK_PROCESS_CPUTIME_ID followed by the appropriate
divisions to get the correctly rounded result.

Either the kernel accounting is wrong or the compiler
generated code to round the result is non-deterministic.

Try using clock_gettime and compare the values?

Cheers,
Carlos.



More information about the Libc-help mailing list