quicklisp/asdf.lisp is recompiled at startup
avodonosov opened this issue · comments
Anton Vodonosov commented
We disable ASDF output translations, so libraries are not recompiled.
But quicklisp/asdf.lisp file is compiled by quicklisp/setup.lisp, and ASDF output translations are not used.
Quicklisp places asdf.fasl into a subdirectory of quicklisp/cache. The subdirectory name is calculated as a hash of these values:
(lisp-implementation-type)
(lisp-implementation-version)
(machine-type)
(machine-version)
I think (machine-version)
is different between the Heroku build machine and the machine where application runs.
When quicklisp/setup.lisp tries to find asdf.fasl on new machine and doesn't find it, it recompilates asdf.lisp. It takes seconds. In total startup upon the first request may take 6-10 seconds.