SAX2: Namespace proposal

Tim Bray tbray at
Mon Dec 20 18:11:41 GMT 1999

At 05:37 PM 12/20/99 -0000, Miles Sabin wrote:
>But my question is: what's the benefit? Sure you have all the
>Strings in your table intern'ed. But how do you exploit that?

One way is like this.  In Lark, my own private intern table was on
char arrays, not strings.  So when you parse a name out of the doc,
you look it up before you even (expensively) make the String.  The effect
is that you end up not only intern()ing once per unique name, but
only make that many String objects.   The benefit of intern()ing was
for the application not the parser (of course you have to document that
the intern()ing is happening - I forget, was this advertised in SAX1?
Should it be in SAX2?)

I measured this as a huge saving.  But I've heard that the String object 
has gotten a bit smarter in recent Javas, so maybe it's overkill now?

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe 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