On 29.01.2011 17:31, Sven Barth wrote:
On 29.01.2011 16:08, Florian Klaempfl wrote:
Am 29.01.2011 13:25, schrieb Sven Barth:
Do you (especially @Devs) think that this is a sufficient approach or
should this be done another way? (Note: I have not yet profiled
compiling the compiler once with that search enabled and once without)

Profile compiler compilation first, then we can decide what to do.


Done. Differences are dramatic (at least on my Linux PC)

[snip]
Results Variant 1:

Run 1:
real 5m18.444s
user 3m57.075s
sys 0m4.806s

Run 2:
real 5m5.727s
user 3m53.811s
sys 0m4.426s

Run 3:
real 5m5.094s
user 3m54.475s
sys 0m4.676s

Results Variant 2:

Run 1:
real 1m7.982s
user 0m46.024s
sys 0m4.390s

Run 2:
real 1m8.619s
user 0m46.104s
sys 0m4.513s

Run 3:
real 1m10.078s
user 0m46.290s
sys 0m4.333s

It seems rather obvious that my search algorithm isn't a good idea ^^


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

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to