On 05/11/13 1428 , Zach Beane 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.
I have the following code in my SBCL and ABCL rc files for quicklisp:
#-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init)))
It executes in negligible time in SBCL, but takes about 12-13 seconds every time in ABCL (beyond the prior 2 seconds for normal jvm/abcl startup time).
In both cases there's no obvious compilation or other stuff going on (as in, no output to console of things being compiled).
Any idea why it takes so long in ABCL?
Thanks, and ABCL discussion forum pointers welcome.
I'm not sure why it takes so long, sorry. I don't think that's typical, but I could be mistaken. I don't use ABCL very much.
armedbear-devel@common-lisp.net is a good place for ABCL questions. I'm not sure how you subscribe, but there are a lot of helpful ABCL hackers answering questions there.
Unfortunately, I believe that the long startup time for Quicklisp in ABCL is typical In order to save on raw startup time, the ABCL implementation has an autoload mechanism by which the compilation unit ("file") containing a given function is not loaded until first one is executed. Among other things, this means that we don't have to load CLOS to get to the bare "CL-USER>" REPL prompt. 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.
[1]: http://abcl.org/trac/wiki/AbclJavaProperties
We would welcome any suggestions for strategies to decrease our this time.