[fpc-devel] Improved compiler speed by 20%

Sergei Gorelkin sergei_gorelkin at mail.ru
Mon Nov 19 19:52:37 CET 2007


Peter Vreman wrote:
> 
> I gave the patch a quick try and the speed stays the same for compiling the compiler sources. Can
> you explain how you did measure the performance gain?
> 
First, I compiled the compiler using -gl switch in order to have 
procedure names in logs.
Then I compiled a project (it was my working copy of 
packages/fcl-xml/tests/xmlts.pp) using callgrind:

valgrind --tool=callgrind ppc386 -S2h -dRELEASE -gl xmlts.pp

Finally, annotated the log:

callgrind_annotate --tree=calling >file.txt

As a result, you get a file with call tree and execution times for most 
procedures. The numbers are very consistent across multiple runs.
I observed decrease in "Program totals" number (I actually don't know 
what it is - CPU instructions, ticks or something arbitrary): from
410,867,243 to 302,717,628.

I suspect that these numbers do not include time spent by kernel in disk 
i/o procedures, and that kernel time may be so high that it masks out 
all improvements. Also, I compiled a program with all used units already 
compiled, so in my case .ppu creation was not covered.
But anyway, smaller numbers should be better than bigger ones.

Sergei



More information about the fpc-devel mailing list