Slowness of JDK 1.1.x String.intern() [was Re: SAX, Java, and Namespaces ]

Tim Bray tbray at textuality.com
Fri Feb 5 18:21:13 GMT 1999


At 10:12 AM 2/5/99 -0800, Jeff Greif wrote:
>JDK 1.1.7 intern is native, but is slow because it first converts the
>characters in the string 

Actually, the real reason that most XML parsers will *never* use
built-in intern is because they probably have the name available in a
character array, and can go look things up in the handcrafted
table without String-i-fying it - thus skipping several steps
of work that a built-in intern is going to have to do.  E.g. Lark's
symbol table is a double array, storing both the character-array
and String version of each name - you lookup based on the
character array and return the string if it's already there.  The
point is that you call new String() only once per unique name. 

 -Tim

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list