[Ecls-list] Startup time

Waldek Hebisch hebisch at math.uni.wroc.pl
Tue Oct 14 15:09:50 UTC 2008


Juan Jose Garcia-Ripoll wrote:
> On Tue, Oct 14, 2008 at 5:01 AM, Waldek Hebisch
> <hebisch at math.uni.wroc.pl> wrote:
> >> Sure! Remove the si_gc(Ct) statement in src/c/load.d and please tell
> >> me whether this helps. I can remove it from the default configuration.
> >
> > I have now tried this modification on ECL 0.9l (CVS 2008-06-19 17:09)
> > Stock version gives me: [...]
> > real time : 27.550 secs
> > run time  : 24.789 secs
> > gc count  : 1108 times
> > consed    : 46275376 bytes
> >
> > Modified version gives:[...]
> > real time : 1.323 secs
> > run time  : 1.192 secs
> > gc count  : 7 times
> > consed    : 46293536 bytes
> >
> > So the speed difference is substantial.
> 
> I am glad to read this. This change has been committed to CVS several
> months ago, so you should be getting similar speedups with the next
> release. If this is not the case, please report it immediately
> 

With current CVS I still get 25 seconds.

AFAICS the change is:

        /* A full garbage collection enables us to detect unused code
           and leave space for the library to be loaded. This is only
           required when we use the dlopen wrappers. */
-#ifndef GBC_BOEHM_GENGC
-       si_gc(Ct);
-#endif
+       if (!ecl_get_option(ECL_OPT_INCREMENTAL_GC)) {
+               si_gc(Ct);
+       }

so, it seems that the change is effective only I use incremental GC.
However, my configure line is:

./configure --prefix=/var/tmp/hebisch/usr2



-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list