On 05/11/13 1552 , Mark Evenson wrote:
Dave Tenny dave.tenny@gmail.com writes:
This may be more of an ABCL question than a Quicklisp question I guess, but I haven't yet found a good place to ask ABCL questions of this type. I'll post this in the common-lisp group too.
ring questions there.
[…] Since Quicklisp is intimately connected to ASDF which in turn is wedded at the hip to CLOS, loading Quicklisp in `~/.abclrc` effectively means that there are no time savings incurred by the autoload mechanism.
Note that I "believe" this to be the case, not having actually verified by appropriate profiling, which would probably be easy to do by some combination of setting the [`abcl.autoload.verbose`][1]: Java property to collect various profiles of with/without Quicklisp/ASDF.
A retraction after a little further investigation: my hunch of long startup times for for ABCL with Quicklisp "because of the autoload mechanism" is mostly bogus. This can be shown by the difference of CL:TIME profiles of loading Quicklisp with ASDF previous loaded:
tethys:~/work/asdf$ abcl --noinform --noinit --eval '(require :asdf)' --eval '(time (load "~/quicklisp/setup.lisp"))' 8.73 seconds real time 588035 cons cells
and without:
tethys:~/work/asdf$ abcl --noinform --noinit --eval '(time (load "~/quicklisp/setup.lisp"))' 12.143 seconds real time 1044558 cons cells
The actual problem seems to lie more in how long it takes ABCL to load an ASDF system. Some of this time seems to come from the autoload of the compiler, but the majority of time seems to be from simply loading the discrete FASLs on the filesystem. We'll look into further optimization strategies for improving load times.
Followups to armedbear-devel@ please: we return you to your regularly scheduled Quicklisp goodness.