[rules-dev] Java 6 options to aid performance

Michael Neale michael.neale at gmail.com
Wed Sep 9 18:46:54 EDT 2009


I was reading over: http://java.sun.com/javase/6/webnotes/6u14.html,
and I was wondering if anyone had tried various combinations of the
new command line tweaks while running drools benchmarks.

>From Java 6 u14 and up there are a few interesting ones:

-XX:+DoEscapeAnalysis
When hotspot is compiling a method, if it sees an object that is only
used by a single thread within the method scope, it can avoid
allocating it on the heap ! could be good for lots of small objects.
Takes a load off the GC. My intuition is that this is an automatic
version of defining a "struct" in C# (which only ever lives on the
stack) but I might be mis-reading it... (probably am).

-XX:+UseCompressedOops
If using 64 bit JVM, and heap is < 32gig, this is supposed to help -
can avoid pointers needing to be the platforms native 64bits when its
clearly overkill...

-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
This might not be experimental in a more recent version: but turns on
the G1 GC, which is a new design, could eliminate a lot of pauses...

I would love to hear if people play with these settings what the
changes are with some of the benchmarks !




-- 
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com


More information about the rules-dev mailing list