[fpc-devel] Problem with Now() and time changed by ntpd
michael at freepascal.org
michael at freepascal.org
Wed Nov 2 15:47:46 CET 2011
On Wed, 2 Nov 2011, zeljko wrote:
> On Wednesday 02 of November 2011 14:53:05 you wrote:
>
>> You must do also a localtime_r after this call.
>> clock_gettime returns the same time as gettimeofday.
>
> But point IS in comparing clock_gettime() vs. gettimeofday() which is used by
> fpgettimeofday(). I don't see localtime_r() calls in current RTL Now().
Ok.
It turns out that Now() was doing a fpGettimeofday (for time) and a fptime (for
date), which is of course really stupid.
I improved that (it does one call only). So, new stats, 64-bit, no optimizations:
sb: >./unixclocks
RTL Now() with 10000000 calls = 3698 ms
Kernel clock_gettime() NowReal() with 10000000 calls = 6564 ms
Revision 19572.
The time is now less than the Libc time you posted (5085ms).
I can't test the libc version, but if you'd care to re-test using the above
revision of unix/sysutils.pp, and post the results, I'd be grateful.
Michael.
More information about the fpc-devel
mailing list