|
|
||||
|
Re: Push and Pull parsing
by
Cowtowncoder
Hi Michael! Thank you for your results -- although results between the parsers in questions varies quite a bit depending on types of documents, your results are well within range I have seen. I was also initially surprised by the good performance of Xerces, but it has been consistently amongst fastest implementations, esp. for bigger documents. Sjsxp is also based on Xerces internals (I think; using XNI interface to low-level parsing aspects), which would indicate that sjsxp authors considered it well-performing.
As to conformance, Xerces still has the best overall xml conformance, but from my testing with xmltest/saxtest, Woodstox appears at this point more conformant than Piccolo (75% pass rate vs. 50% pass rate; Xerces had ~90%). There is also on-going work to really close down remaining uncatched well-formedness issues (esp. regarding less commonly encountered cases -- basic WFC as nesting constraints and namespace collisions have been checked since 1.0), so I am hopeful that the performance difference is not just based on omitting checks that Xerces does (esp. checking of names should be fully xml 1.1 compliant, but not yet 1.0 compliant -- upgrading those should not significantly degrade performance.
Anyway, I hope you will found it useful to use pull parsers for certain things -- I do know that for some tasks SAX is perfectly adequate (building full DOM[-like] trees, and by extension activities that rely on in-memory trees, which is probably the case for many XSLT tasks), but for others pull parsing (data binding, serialization) has its benefits.
|
Search
Recent Comments
Recent Articles
Month Archive
|
|||