Skip to content

Quicklisp takes 3 seconds to load on SBCL #217

Closed
@samuel-hunter

Description

@samuel-hunter

This is likely false memory, but I don't remember Quicklisp having this performance issue a few months ago, before I reinstalled all my dev tools.

I measured how long it takes with and without Quicklisp on SBCL 2.2.3.debian and a Quicklisp system, both fresh-installed today:

~$ time sbcl --load ~/quicklisp/setup.lisp --eval '(quit)' >/dev/null

real	0m2.870s
user	0m2.010s
sys	0m0.847s
~$ time sbcl --eval '(quit)' >/dev/null

real	0m0.010s
user	0m0.005s
sys	0m0.005s

That's nearly a 3 second startup when SBCL usually takes no time at alll, backed after running it multiple times.

Roswell helps me reproduce it with various impl's, so it's not SBCL-specific:

~$ ros use sbcl-bin
~$ time ros run --no-quicklisp --quit

real	0m0.072s
user	0m0.041s
sys	0m0.031s
~$ time ros run --quicklisp --quit

real	0m3.064s
user	0m2.166s
sys	0m0.895s
~$ ros use ccl-bin
~$ time ros run --no-quicklisp --quit

real	0m0.051s
user	0m0.047s
sys	0m0.004s
~$ time ros run --quicklisp --quit

real	0m6.187s
user	0m5.398s
sys	0m0.805s
~$ # etc...

I find it a little surprising that a dependency manager needs this much time to load, though maybe the internals are more complex than I give it credit for. Is this expected performance?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions