My cl-launch scripts can take one second. I can trim a half second off that with a disk-cache[2] of *source-registry*. Tedious details follow. My cl-launch install defaults to using ccl. My ccl install is currently HEAD. My current setup has 3.8K working directories, which compute-source-registry scans. Ok I have three little bash functions[1] to time things. try-ccl- — run ccl with —no-init try-cl — run cl-launch, so no init file; but it will load asdf. try-ccl — run ccl with standard quicklisp init file Without the disk cache. try-ccl- 0.03 seconds try-cl 1 seconds try-ccl 1 seconds With the disk cache: try-ccl- 0.03 seconds try-cl 0.5 seconds try-ccl 0.5 seconds These #’s are gleaned from batches of 10 runs so things can settle. Theories for that remaining half a second need looking into. - ben [1] The three bash functions try-ccl-(){ (time ccl --no-init --eval '(progn (print (lisp-implementation-type)) (quit))') 2>&1 | grep real ; } try-ccl(){ (time ccl --eval '(progn (print (lisp-implementation-type)) (quit))') 2>&1 | grep real ; } try-cl(){ (time cl -ip '(lisp-implementation-type)') 2>&1 | grep real ; } [2] A proof of concept disk cache... https://gist.github.com/bhyde/526c5acb38f341d60dba So, anytime somebody rearranges the set of asdf systems they are expected to invoke reset-quickasdf. quickasdf horrible name - but it bemused me at the time. Calling initialize-source-registry directly from the repl takes 0.47 seconds without the diskcache and .004 seconds with it.