[Asdf-devel] startup times and initialize-source-registry
Ben Hyde
bhyde at pobox.com
Wed Aug 27 17:11:22 UTC 2014
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20140827/73e0f824/attachment.html>
More information about the asdf-devel
mailing list