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