[Ecls-list] Looking for ideas to help reduce initialization time in cl_boot()

Ram Krishnan kriyative at gmail.com
Thu Oct 29 18:03:00 UTC 2009


Hello,

I've been using ECL for an embedded application, and it's been working 
very well (thanks to the developers/maintainers for an excellent 
embeddable Lisp system). However, the initial start up time in cl_boot() 
is quite high (as much as 8-10s, which is high for my deployment 
environment), and I'm looking for suggestions to help reduce this.

Running under a profiler also confirmed that the bulk of the time is in 
the call to `init_lib_LSP'. The obvious approach I though of was to try 
and dump a Lisp image, which could be directly loaded on startup, 
instead of invoking the initialization functions. Portability isn't a 
concern for this application, so I'm willing to accept that. I haven't 
dug into the guts of ECL yet, but I suspect there is more to this than 
simply finding the root of the heap, and writing out all the live 
objects to a file.

I decided to first ping the group to see if anyone else has had a 
similar need, and get some collective wisdom before trudging forth. I 
would appreciate any pointers on possible issues with `dump image' 
approach, or any other options that others have considered or had 
success implementing.

Thanks.

-ram





More information about the ecl-devel mailing list