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.