To use or not to use XML Namespaces and XML Validation?
<< Comparing Parsing Methods
XML Parsing Benchmark
Choosing the Parser >>
The following charts show how these features affect the performance of our benchmark. In the case of other applications the effects will be different since the additional processing performed during the XML validation depends on the complexity of the DTD. Also we didn't test the other methods of validation such as the W3C XML Schema Language.
In the charts below, OFF means no validation and no namespaces support, NS VAL means both validation and namespaces usage, NS means only namespaces support and VAL means only validation. When testing with the old SAX 1.0 and DOM Level 1 versions, the label starts with OLD. The omission of OLD means that SAX 2.0 and DOM Level 2 are used.
Testing Namespaces and Validation with JDK 1.3, SAX, 50000 records
The namespaces and validation have little effect on the SAX performance in the Crimson's case, while the validation with Xerces has become slower and slower with each new version.
Testing Namespaces and Validation with JDK 1.3, DOM, 50000 records
Xerces performs the DOM parsing much better than Crimson, whether the validation and the namespace support are enabled or not.
Testing Namespaces and Validation with JDK 1.3, SAXDOMIX, 50000 records
Strangely, the mixed SAX-DOM parsing is faster with Crimson when the validation is enabled. This isn't true for SAX-only or DOM-only parsing.
<< Comparing Parsing Methods
XML Parsing Benchmark
Choosing the Parser >>
|