So, I've obviously ignored my blog for way too long.  I'm going to catch up on the project entries real-soon-now.  But, in the meantime we've been trying out Drools on JRockit, and we have good results to report.
I compared the JRockit implementation of 1.5.0_12 with the Sun version.  To start up Drools with a rather large set of derived facts (inserted in the consequence of various rules), JRockit was 1/3 faster out of the box with no tuning other than setting a large max heap size.  I measured 10 successive start-up runs because JRockit's aggressive precompilation caused the first run to be significantly slower than subsequent ones.  These tests were on a 32bit Windows box.
Also, large blocks do make a difference.  JRockit allows for large block allocation on OSes that support it (I'm no expert on memory allocation, so be warned).  On Linux (RHEL 4) with a 10 gig (yes, 10 gig!) heap, we improved Drools start-up by 20% by turning on -XXlargePages support. 
We're going to continue to tune JRockit for our large heap.  GC pauses are still really long (well over a minute), but we really only care about start-up speed.  Responsiveness doesn't matter until we're ready to make tons of working memory queries.  When we learn more, I'll report back.
We're a Weblogic shop, so there are no licensing issues involved for us to use JRockit, and we expect to embed Drools within a Weblogic instance anyway.  As always, your mileage may vary.
Friday, January 4, 2008
Drools on JRockit
Posted by
Steve Shabino
at
12:23 PM
0
comments
 
 
Subscribe to:
Comments (Atom)