Earlier quoted context omitted.
Nitpick, but Clojure's startup time isn't JVM startup time it's clojure.core startup time
This appears to be true, eg: cat Hello.java public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); }} eof javac Hello.java echo "Main-Class: Hello" > manifest.mf jar cvfm hello.jar manifest.mf Hello.class time java -jar hello.jar Hello, world! real 0m0.153s user 0m0.132s sys 0m0.020s vs: lein new hello cd hello # Pesty s-expressions, so hard to work with... ;-) cat src/hell…
# First run:
time guile hello.scm
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
(...)
Hello, world!
real 0m0.066s
user 0m0.044s
sys 0m0.020s
#Ed: with precompiled code under $HOME/.cache/guile (?)
time guile hello.scm
Hello, world!
real 0m0.040s
user 0m0.036s
sys 0m0.004s