The XML parser benchmark that we released, XMLTest is designed as a server side benchmark and appropriate Java tunings should be applied to obtain optimal performance. This is especially true if you use this benchmark to compare the performance of different parsers.As he offers tunings for 32-bit Windows, the obvious question is: What tunings would be appropriate for other operating system/JVM combinations?
At the minimum, use the following Java options when you run these tests on 32-bit Windows: -server -Xmx -XX:+UseParallelGC
News: Java Tunings for Server Side XML Processing
In "Java Tunings for Server Side XML Processing," Binu John offers a set of JVM parameters (and a reference to XMLTest, which helps provide some tuning information) to aid in processing XML on the server-side, a definite requirement for the growing set of applications that use web services.
- Posted by: Joseph Ottinger
- Posted on: February 28 2006 09:53 EST
- Java Tuning White Paper by Binu John on February 28 2006 13:43 EST
- That is Sun dissing Intel, has nothing to do with XML by Scott Stirling on February 28 2006 14:37 EST
- Java Tunings for Server Side XML Processing by Henrik Stahl on March 01 2006 03:25 EST
The Java Tuning White Paper is a great reference for Java performance tuning information. This document includes several new performance options that are available in Java SE 1.5.0_06.
The minimum recommendation shown here has nothing to do with XML. As of JDK 5.0 on Intel machines, the default JVM is *always* the client VM and the default GC algorithm is always serial. That is even with the new "server-class machine detection" feature in the JVM launcher. Yes, even though the JDK can now detect that your Intel box has, e.g., dual CPUs and 2GB of RAM, it will launch the client VM with serialGC by default, regardless of OS. This is not the case for Windows or Linux on AMD, so it seems like either Sun wanted to diss Intel or there was some technical difficulty with reliably setting these properties dynamically.
Now that I read the link I see that this is really just someone repeating what's in those docs. Moving on . . .
This is an old but quite good benchmark from Sun...
For JRockit, you can find the tuning guide here:
I would start with simply setting -Xms==-Xmx and use -Xgc:parallel, to shorten the warmup time. Incidentally, I get quite good performance on my laptop using JRockit 5.0 R26 and these options.
BEA JRockit team