[fpc-devel] Status report for "class helpers"

Sven Barth pascaldragon at googlemail.com
Sun Jan 30 12:25:37 CET 2011

On 30.01.2011 12:13, Florian Klämpfl wrote:
> Am 30.01.2011 09:45, schrieb Sven Barth:
>> On 30.01.2011 04:30, Paul Ishenin wrote:
>>> 30.01.2011 5:22, Sven Barth wrote:
>>>> Ok, I have now implemented a set of flags in TSymtable of which one is
>>>> set when the (global-,static-)symtable contains a class helper (I
>>>> haven't refactored b_needs_init_final yet).
>>>> Here are the new results with the search for class helpers enabled
>>>> (only two runs this time):
>>>> Run 1:
>>>> real 2m22.980s
>>>> user 0m47.140s
>>>> sys 0m4.333s
>>>> Run 2:
>>>> real 2m15.362s
>>>> user 0m47.274s
>>>> sys 0m4.140s
>>> Imo it works much better now.
>> Only one minute slower in the complete run instead of four.
> Now I understand the timings :) Actually two times slower, right?

I was a bit bad with explaining my profile results ^^

The complete "make cycle" is two times slower, yes.

>> I let you
>> guys decide whether this is good enough ^^
> Actually I think anything about a ten percent slower compiler will
> people make cry ... And as far as I understand, for projects with a lot
> of units it will be even worse, right?

A huge number of units is not the main cause. The main problem is many 
units included in the uses clause. A project could have thousand units, 
but if every unit only used two or three you might not even notice much 
(a very hypothetic scenario, but to show you where the problem is). 
That's why I used the compiler as a testcase (though Lazarus might be a 
good candidate as well...)


More information about the fpc-devel mailing list