On Wednesday 02 of November 2011 23:45:53 Martin Schreiber wrote: > On Wednesday 02 November 2011 17.43:56 Martin Schreiber wrote: > > On Wednesday 02 November 2011 17.13:49 Jonas Maebe wrote: > > > Yes, the result slower, but it's also correct (as in "it makes sure > > > that the actual local time is returned"). Just like all UTF-16 code in > > > the RTL is slower than what Martin Schreiber would like, and we didn't > > > change it to UCS-2 when he asked to do so for speed reasons. > > > > ??? > > I never asked this. I asked not to use new code page aware stringtype > > instead of pre cpstrnew UnicodeString, not to use 16 bit strings in > > component names and the like and not to use non ASCII characters in RTTI > > and Pascal identifiers. > > I fully agree with your argumentation about Now(). MSEgui already has a > > nowutc() function, I'll add nowlocal() which will use mselibc on Linux. > > The results with 10'000'000 calls: > > FPC Now() MSEgui nowutc() MSEgui nowlocal() > > Linux > 15.29s 3.39s 3.57s > > Windows > 10.00s 1.22s 1.37s
Have you tried latest Michael's patch for getttimeofday ? It used 2 calls 1 to gettimeofday and 1 to fptime, now it uses only gettimeofday syscall and it's twice faster. So: your nowutc() and nowlocal() returns timings which I have with my implementation of Now() by using syscall clock_gettime(CLOCK_REALTIME). After Michal patched current trunk , gettimeofday have same timing. Overhead of Now() is now fixed in trunk. Don't know anything about windows...maybe it should be reviewed for unnecesarry calls. zeljko
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel