Re: Re: Re: Reading XML with JDOM

Tatu Saloranta <[email protected]>
Newsgroups gmane.comp.java.jdom.general
Message-ID <[email protected]>
--- On Fri, 10/3/08, David Wall <[email protected]> wrote:

> Michael has it right -- penny-wise and pound foolish
> won't result in a 
> good performing system.

Agreed. And if network _latency_ is the problem, generally batching of multiple requests and using pipelining (both for http, and in general pipelined processing) can help more here.

But:

> If your XML is really that simple, maybe XML parsing it is
> not even the  right solution, though SAX would surely do well.  Much
...
> XML parsers are very general, so they are very useful.  But if your data 
> is simple, you may find simple string parsing yourself to
> be the fastest.

I 100% disagree. One should never ever ever try use to use simple String for doing job of an xml parser if a good parser is available.
Likewise, it seldom makes sense to use String appends for xml generation. Those are among biggest anti-patterns in simpl(e|istic) xml processing.

In both cases you will end up with slower not faster performance; but most importantly will probably hit most common problems with such approach (quoting of less-thans and ampersands; encoding issues, assuming formatting wrt. white space, forgetting about CDATA sections, comments, PIs and so on).
And even performance-wise current xml parsers (sax and stax) are ridiculously heavily optimized and do good job at working fast.
You can benchmark approaches to see for yourself, but I have yet to see a case where hand-written string scanner made sense.

And finally, JDOM is not an xml parser (I hope that's what FAQ says): it is true that building a tree model is overhead that is relatively easy to eliminate.

My advice would really be to look at JAXB ref. implementation (javax.xml.bind), coupled with a fast Sax or Stax parser. That is a very convenient and high performance combo, and sounds like a good fit for the original use case.

-+ Tatu +-



      
_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.