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

Ram Krishnan kriyative at gmail.com
Thu Oct 29 23:00:38 UTC 2009


Matthew Mondor <mm_lists at ...> writes:

> 
> On Thu, 29 Oct 2009 11:03:00 -0700
> Ram Krishnan <kriyative at ...> wrote:
> 
> > 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.
> 
> I agree that the startup time is slow if for instance ECL is used to
> create commands which should be started from a non-CL shell, there
> probably is room for improvement in that area.  Is your application of
> that nature?
> 
> Otherwise, considering the dynamic and interactive nature of CL, another
> possibility would be to keep a daemon running which then can serve
> incomming requests in an RPC-like manner, or to integrate a custom REPL
> as necessary, and interactively modify it instead of having to relaunch
> it at every modification...

Matthew,

Yes, the C layer does have to wait for some Lisp layer functions to become
available before the app can do useful work. It's a narrow interface between the
C and Lisp layers, although there is a fair amount of FFI calls that Lisp has to
make. Once the app is booted and initialized the performance has been really
good, but at the moment the startup delay is a real issue.

Being an embedded app, there's no room (literally) to have a long running daemon.

Cheers,

-ram






More information about the ecl-devel mailing list