Java and XML Basics, Part 3
|
|
|
|
| Articles Reviews XML | |
| Written by Liviu Tudor | |
| Wednesday, 21 March 2007 | |
|
{mos_sb_discuss:24} So far, during this series of articles (part 1, part 2) we've
looked at DOM and SAX, and I suppose most of you are thinking which one
of the two approaches is preferable? Well, there is no general rule of
thumb, but this article might help you make the right decision when
you’ll have to.
NOTE Before you get started, you'll probably want to download the support file (70KB) which contains sample codes for all articles in this series up to this point.)
Those
of you who read the previous article and manage not to fall asleep
before the end will probably remember our little (silly) XML example
that was parsed using both the DOM and the SAX approach. As we have
seen, both of them achieved the same thing, which raises the obvious
questions: Oh
yeah, there is always the 3rd question about the meaning of life --but
we will leave that one for the time being. (It's more of a Linux
programming question, anyway.) The reason for having
these two ways of doing things is due to the fact that the two
standards come from different sources: as we stated before, DOM was
produced by W3C while SAX came from David Megginson. Also, the two
standards are based on two different paradigms -- while DOM produces a
document tree at the end of the parsing process, which can then be
manipulated/interrogated, by the user, SAX is based on the idea of
events and leaves the whole data manipulation (and eventually building
a document tree) to the user. (Not to mention of course that having
just one way to do this would be rather boring -- a bit like having
only one type of coffee and not being able to enjoy such delicacies as
Cappuccino, or a Mocha Latte.) The latter question though is not that easy to answer; while in most cases choosing in between SAX and DOM proves to be a matter of tastes with some programmers, we are going to look at some speed and performance comparisons in between the two of them. While there are complex ways to evaluate the performance of a computer program, we are only going to refer to two main factors: To make the result look closer to reality, we are suggesting to the interpreter that the garbage collection should be kicked off before and right after the parsing -- this will give a more accurate figure of the memory available. Of course, there is no way to enforce garbaged memory recollection, however, as we are running in a single-user single-threaded non-stressful environment, we can assume that in most cases garbage collection will take place when we have queued up the request. Powered by jReviews |
|
| Last Updated ( Sunday, 08 July 2007 ) | |
| < Prev | Next > |
|---|







