1. Hotspot warmup/ caching
"-XX:CompileThreshold=10000"
2. Hotspot's startup time. tradeoff: "-server" perf, "-client" startup time
nailgun
JRebel
3. Combinations of default heap "-Xmx" and GC algorithm
http://groups.google.com/group/clojure/browse_thread/thread/9b2915f7517c2c0b
"-XX:+UseG1GC:"; "-XX:-UseParallelGC"
N.B: he first sets minimum heap to get correct program behavior.
4. Max inlined function size, "'-XX:MaxInlineSize=100"
Rich Hickey likes "100"
"-Xincgc -XX:-DontCompileHugeMethods -XX:MaxInlineSize=1024 -XX:FreqInlineSize=1024 "
5. JRockit can be slightly better or a lot worse:
OpenJDK, also
[[ need citations ]]
Prior Art:
Jensen, "Get Benchmarking Right"
monitor GC: "java -verbosegc"
Nutter the JRuby guy: Favorite hotspot options
G1 GC experimental ; ParallelGC or CMS safer for production (july 09)
Friday, February 25, 2011
Thursday, February 25, 2010
Language roundups:
I promised to do 15-25 bullets on Erlang, Clojure and Scala::
- tool chain: IDE/editors, debuggers, tracer, profiler, loggers, static code analysis;
- concurrency model: STM; persistency/ACID backends; message passing;
- developments on the VM and compiler choices;
- core language
Here's the initial promises:
Scala (kind of fluffy)
http://news.ycombinator.com/item?id=1150837
Clojure (pure fluff)
http://news.ycombinator.com/item?id=1086645
Erlang (folks seemed to like this one)
http://news.ycombinator.com/item?id=855290
- tool chain: IDE/editors, debuggers, tracer, profiler, loggers, static code analysis;
- concurrency model: STM; persistency/ACID backends; message passing;
- developments on the VM and compiler choices;
- core language
Here's the initial promises:
Scala (kind of fluffy)
http://news.ycombinator.com/item?id=1150837
Clojure (pure fluff)
http://news.ycombinator.com/item?id=1086645
Erlang (folks seemed to like this one)
http://news.ycombinator.com/item?id=855290
Subscribe to:
Posts (Atom)