To add my two pence to this: Low-level optimisation is my personal speciality. Currently a lot of what I do is on small savings within the peephole optimizer on x86 systems. Generally the result is that the compiler runs slightly more slowly, but the final binary runs a bit more efficiently - for example, replacing integer divisions by a constant with multiplications.
It's not as important as improving node generation and the like, but every little helps. In the meantime, I'm seeing if it's possible to minimise the number of passes that the optimiser makes - currently it's at least 4 per code block when -O3 is specified... pre-peephole, pass 1 (which is repeated until there are no more critical changes), pass 2 and post-peephole). This may not amount to anything, but I tend to experiment a lot. Part of my incentive is that I like to design games and am also an amateur mathematician, both fields that can benefit from speed gains, so if I can make Free Pascal into something that is suitable for such tasks, then my life is complete! Gareth aka. Kit
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel