Some months ago, V-ille mentioned that Clojure got a 50% boot speedup by adding their jar(s) using the bootclasspath. Today, I decided to look into what that means. As it turns out, there's an option to the (Sun) java executable called "-Xbootclasspath/a" which can be used to add jars to the bootclasspath.
These timings I got from doing the same in our situation:
without the bootclasspath option:
C:\Users\Erik\Documents\abcl-j>abcl Armed Bear Common Lisp 0.24.0-dev Java 1.6.0_20 Sun Microsystems Inc. Java HotSpot(TM) Client VM Low-level initialization completed in 0.91 seconds. Startup completed in 5.019 seconds. Type ":help" for a list of available commands. CL-USER(1): :exit
with the bootclasspath option:
C:\Users\Erik\Documents\abcl-j>abcl Armed Bear Common Lisp 0.24.0-dev Java 1.6.0_20 Sun Microsystems Inc. Java HotSpot(TM) Client VM Low-level initialization completed in 0.341 seconds. Startup completed in 4.159 seconds. Type ":help" for a list of available commands. CL-USER(1): :exit
As you see, we can achieve a lot of performance gain (66%) by loading our classes off the bootclasspath. The general performance increase (from 5.0 to 4.9 seconds on my machine in powersavings mode) can -presumably- be much higher, if we compile into .class files instead of "manually" loading .cls files.
Just noting to share my findings.
Bye,
Erik.