SAX drivers bug ... or feature !

Toivo Lainevool tlainevool at
Sat Nov 21 19:01:21 GMT 1998

---david at wrote:
> Depending on the virtual machine, this could be a killer.  Remember
> that a medium-sized XML document (such as a book) might have 10,000
> elements: that would mean an extra 10,000 attribute lists allocated
> and then garbage collected in what should be only a few seconds of
> parsing.

If your worried about the performance of the parser, just setting the
attributeList to null would be faster than doing the
AttributeListImpl::clear() which would cause a removeAllElement() on
each of the underlying member vectors.  If your cranking away with the
parser, chances are the low priority gc task wouldn't be fired while
your doing this, unless you hit your memory limit.

If your worried about memory space,  the clear() and resulting
resulting removeAllAttributes() would allow you to reuse the
AttributeListImpl and Vector objects, but the removeAllElements just
releases their hold on the underlying String within the vectors,
meaning that the Strings, which I assume would count for most of the
memory would be left hanging around for the gc to free anyway.

So which of these approaches would result in a more optimized parser
would highly depend on the size of the document, the amount of memory
you have available, and the gc algorithm your VM uses.

Toivo Lainevool

Get your free address at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list