Hey everyone!,

I know this is an old story.

I've played with clojure, but the main thing that has kept me from
never looking back is the startup speed.  "Hello world!" in Java takes
me .303s, but just "java -cp clojure-1.5.0-master-SNAPSHOT.jar" takes
1.989s (sending C-d to close the repl even before it starts).
Searching around here, I've found -XX:+TieredCompilation knocks me
down to 1.581s and also
-Xbootclasspath/a:clojure-1.5.0-master-SNAPSHOT.jar all the way to
0.938s.

Incidentally, the same tricks with "Hello World" take me to 0.159s.

Those were major improvements with very little cost; a huge win
(thanks clojure list!).  Any further easy tips and tricks?  I'd like
to get to the point where shell scripts aren't painful.  It looks like
other major hints are nailgun, and never restarting the repl during
development.

I took the liberty of printing some System.getCurrentMillis from
clojure.main.  It looks like it takes me 0.666s to enter the
clojure.main main method, which I didn't entirely expect.  There are
several static members of clojure.main that need to be initialized,
these members take ~.520s to initialize in total; almost all of this
is initializing `Var REQUIRE`.  Presumably this is when most of the
clojure environment starts to get loaded?

I'm just starting to look into clojure's jvm implementation; does
anyone have some pointers on how to get quickly up to speed with the
internals of clojure?

Thanks!,

-- Ned Ruggeri

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to