avodonosov / heroku-buildpack-cl2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

quicklisp/asdf.lisp is recompiled at startup

avodonosov opened this issue · comments

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.