[fpc-pascal] code optimization
jonas.maebe at elis.ugent.be
Fri Sep 24 10:37:48 CEST 2010
On 24 Sep 2010, at 08:06, Adrian Veith wrote:
> On 23.09.2010 17:03, Jonas Maebe wrote:
>> It may help a lot, but only because it will reduce register pressure,
>> not because the multiplications are gone.
> It reduces the total number of multiplications about 70% - I gave the
> code to one of my guys and he changed the code using pointers to
> elements wherever possible.
Note the above: he changed the code using pointers. He did not replace
the multiplications with "lea" instructions. Simply replacing the
multiplications with lea instructions has almost no influence on the
speed, as I mentioned twice before (unless you have a very old x86).
Multiplications, especially with small numbers, are very fast on
> This are the differences:
> fpc - original code: 17s
> fpc - pointer to elements: 12 s
> delphi - original code: 9s
Yes, because as I mentioned above, this reduces the register pressure.
> As a conclusion one can say, that fpc's array arithmetic is
You can conclude that, but that is virtually completely unrelated to
the speed of this example program.
More information about the fpc-pascal