On Sat, 11 Jun 2005, Joost van der Sluis wrote:
> If we're gonna hold a discussion like this for every optimilisation, it > isn't worth the effort imho. But now we're busy with it: > > > Well. Discussion is nice, but what does the real world show ? > > > To compare, I made 6 versions of Lowercase: > > 1 - Sysutils > > 2 - Sysutils with Joost's improvement. > > 3 - Sysutils with Joost's improvement, but forward loop. > > 4 - Using PChar. > > 5 - Using PChar with lookup table and if check > > 5 - Using Pchar with lookup table and no check. > > You shoudn't use the sysutils's version. It's better to copy the source > from sysutils to the testprogram. > > I've added that (lowercase1) and i've added Daniel's asm-procedure... Timing for Daniel's procedure doesn't count, it's shortstrings. They are limited to 256 characters, obviously this will execute faster; The ansistring S used is 2400 characters (so a factor 10 longer). > > > Result on an AMD 64 3000: > > Lowercase time to execute: 00:00:01.563 > > Lowercase2 Time to execute: 00:00:01.363 > > Lowercase3 Time to execute: 00:00:01.394 > > Lowercase4 Time to execute: 00:00:00.999 > > Lowercase5 Time to execute: 00:00:01.021 > > Lowercase6 Time to execute: 00:00:00.948 > > > So, judge for yourself. I think this is worth the 256 byte lookup table. > > Further I've used the more precise timer-utils from Tom. Most remarkably > is that now my lowercase is actually _slower_ then the one in the RTL. > Yesterday and in Michael's test it's the other way around? Depends on the used optimizations, I suppose. Michael. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel