Serguei TARASSOV wrote:
For info, simple loop test like
while i < 1000000000 do
i := i + 1;
shows that the FPC code is 2 times slower than Delphi 7 and Borland C
5.5 and 4 times slower that C#.
If that's really all there is in your program, then the C# compiler
probably replaces that with "i+=1000000000;" (gcc and clang definitely
will do that, I don't know about Delph 7/Borland C 5.5). This is another
kind of optimisation that is seldom useful in real world programs
(normally the loop will also do something useful, in which case you
can't do that).
FPC indeed does not implement many of these optimisations, because we
prefer to spend our time on other things. If you, or anyone else, wants
to implement transformations for such idioms, you're welcome and we'll
happily apply your patches if they are implemented as generic node tree
optimisation passes.
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal