An experimental change for fast Clojure REPL startup:
- Download the JAR: clojure-1.8.0-fast.jar
- Launch it via
java -jar clojure-1.8.0-fast.jar
The code used to create this JAR is on GitHub.
What's it doing?
It is:
- Assuming you are launching a REPL.
- Statically printing the Clojure version and first prompt before anything else is done.
- Letting the rest load, but trying to carefully do it via reflective calls, after the printing in (2) is done.
A robust solution couldn't make the assumption in (1), but would probably have to do some argument processing in Java to determine if a REPL is being launched. (This is essentially what Planck does: The argument processing is done in native code, not ClojureScript.)
A demo:
Can this be used to improve the startup time for lein or boot?