String interning (WAS: SAX2/Java: Towards a final form)
Miles Sabin
msabin at cromwellmedia.co.uk
Wed Jan 12 20:07:08 GMT 2000
Tyler Baker wrote,
> Miles Sabin wrote,
> > [snip: table mapping to intern'd Strings]
> > Even tho' this only requires one java-intern for each
> > distinct name it still provides plenty of opportunities for
> > synchronization collisions.
>
> Nope. Names in XML are highly redundant especially for
> Namespace prefixes. Also, even if the number of calls to
> String.intern() were significant (which they rarely if ever
> are), modern Java runtimes have lowered synchronization
> overhead to be small enough that you don't really have to
> think about it much in terms of impacting performance
> anymore.
I think you're making two assumptions that don't always hold.
Not all java xml applications are one shot, single doctype:
some continuously parse multiple documents of a variety of
doctypes in multiple threads. There's not necessarily _any_
particular upper bound on the number of distinct element and
attribute names that might be encountered. So there could be
continual contention for the JVM's intern table.
And I think you're assuming a single processor JVM. The
synchronization overhead picture is *very* different on multi-
processors.
Cheers,
Miles
--
Miles Sabin Cromwell Media
Internet Systems Architect 5/6 Glenthorne Mews
+44 (0)20 8817 4030 London, W6 0LJ, England
msabin at cromwellmedia.com http://www.cromwellmedia.com/
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/ or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.
More information about the Xml-dev
mailing list