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]