XML Benchmark Results 20.01.2009
Projects Main Page Get PDF (Mach better formated)
Intel Core Duo E6300 (1.86GHz, 2MB L2 cache)
Fujitsu-Siemens D3217-A, Intel Q965 chipset (ICH8R, 1066 Mhz bus)
4 GB DDR2-800 Memory
Mirroring raid of 2 x Seagate Baracuda 7200.10 ST3500630AS (500GB)
Gentoo Linux 64bit, Single User Mode
GNU C Library 2.6.1
GNU C Compiler 4.2.4
Java SE Runtime Environment 1.6.0_07 (64 bit)
Expat 2.0.1, Sablotron 1.0.3, Arabica Oct2008
Gnome LibXML 2.7.3, GDome 0.8.1, LibXSLT 1.1.24, XMLSec 1.2.11
Apache Xerces/C++ 3.0, Xalan/C++ 1.10, XML Security/C++ 1.4.0
Apache Xerces/Java 2.9.1, Xalan/Java 2.7.1, XML Security/Java 1.4.2
Trolltech QT 4.4.3
Intel XML Software Suite for C++ 1.2
Intel XML Software Suite for Java 1.2
Oracle XML Developers Kit for C 10.2.0.2.0
Oracle XML Developers Kit for Java 10.2.0.2.0
RDF - A big RDF document from DMoz.org project describing various web resources. It includes nodes from few namespaces and has constant depth of 3 levels.
XMLGen - Scalable data generator producing very simple XML content: 4 levels of depth, no namespaces, very limited amount of different XML nodes.
XMark - Another scalable data generator provided by XMark Project . It produces XML documents modeling an auction website. The XML have slightly more complicated structure: up to 8 levels of depth, higher variety of XML elements. The namespaces are still not used.
OPCGen - A data generator emulating behavior of OPC XML-DA server . The SOAP messages used in data exchange are generated. Size of some of these messages is scaled by scaling parameter, others are staying constant. The nodes and attributes are belonging to 3 different namespaces. The depth of generated XML is depending on the message type and varies from 1 to 5.
The time required to process data is measured in all tests. This time, then, is divided by the time required by a reference implementation to accomplish the same task on the same data. The resulting value is called performance index and shown on performance charts below. To prevent poisoning of overall result by a single failed test, the maximal value of the performance index for a single run is limited by 10 (and 15 for DOM parsing benchmark). The libraries from Gnome XML Toolkit (LibXML, LibXSLT, and XMLSec) are used as the reference implementations.
In all benchmarks lower value is better!
SAX Parsing Benchmark
DOM Parsing Benchmark
DOM Manipulations Benchmark
XSD Validation Benchmark
XSL Transformation Benchmark
XML Security Benchmark
Memory Usage: SAX Parsing
Memory Usage: DOM Parsing
Memory Usage: Processing 256 KB File
Memory Usage: Processing 8 MB File
ASMXML is a very basic parser implemented in pure assembler language.
Parsing in Deferred Mode
If Deffered Mode is used Xerces/J and Intel/J postpone creation of most DOM objects until they are requested using DOM API.