[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Fast text output from SAX?


jdom slow
Elliotte Rusty Harold wrote:

>At 2:48 PM -0700 4/13/04, Dennis Sosnoski wrote:
>  
>
>>Obviously I can't test every possible internal form that might be 
>>used by an application. However, the vast majority of XML document 
>>processing in Java is currently built on the event streams produced 
>>by SAX parsers. Any general XML format should be convertible to and 
>>    
>>
>>from an event stream of this type, and in practice that's the way 
>  
>
>>any alternative general formats are likely to be used (at least in 
>>the near term).
>>    
>>
>
>
>That doesn't sound at all plausible to me. If I have a specific 
>internal data structure that I wish to convert to XML, I would never 
>go through SAX. If I really didn't care about performance I might go 
>through XOM or JDOM, but if I cared about performance I'd just dump 
>out the strings or bytes as seemed appropriate. While certainly a few 
>people are using the SAX API to drive output, it's hardly a common 
>thing to do, nor is it at all necessary. I just can't see how the 
>task you want to benchmark corresponds to how XML is used.
>
It's true that going through a SAX2 event stream is more likely on input 
than on output, and certainly in some cases developers go directly to 
output text (though this causes all the obvious problems with the need 
for converting characters to entities, and in my experience tends to 
sooner or later be replaced by an XML-specific API). I'd say, though, 
that at this point most developers are using either some form of 
document model or data binding for working with their XML data. I know 
from past performance tests that text output generation from both 
document models and data binding is relatively slow. In earlier 
comparisons of writing XMLS as output from JDOM and dom4j the XMLS 
format was about twice as fast as using the text output generation built 
into the document models, and text output from JAXB is even slower 
(averaging about half the speed of dom4j in my tests).

The approach of using the identity XSLT transform through JAXP looks 
good for performance (considerably better than XMLWriter), so that's 
what I'll be using in my comparisons. I suspect it'll turn out that the 
performance penalty for text using this approach is roughly on a par 
with what I saw with the document models.

  - Dennis

-- 
Dennis M. Sosnoski
Enterprise Java, XML, and Web Services
Training and Consulting
http://www.sosnoski.com
Redmond, WA  425.885.7197



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.