String interning (WAS: SAX2/Java: Towards a final form)
David Brownell
david-b at pacbell.net
Thu Jan 13 17:39:30 GMT 2000
Miles Sabin wrote:
>
> David Brownell wrote,
> > So Miles, if you prefer the occasional synchronization issue
> > to the routine method invocation overhead, use a parser that
> > obliges you. (Yes, I'm assuming SAX2 doesn't mandate any
> > interning, just exposes whether or not it's done.)
>
> Well, if your assumption is correct, then fine. But I rather
> got the impression that some people wanted SAX2 to make
> guarantees about Strings being returned java-interned.
Some People want all sorts of bizarre things.
In fact, I don't trust Some People at all ... ;-)
Sanity must at some point reign; demanding that all
SAX parsers do something that's not essential (only
very desirable in some common cases) would be unwise.
> > Though I daresay you'll find that the synchronization isn't
> > usually measurable, while your evidently preferred
> > alternative (lots of String.equals calls) will consistently
> > show up as a performance problem. At least that's been the
> > case when I've made such measurements.
>
> Except that String.intern() isn't the _only_ way of making
> foo.equals(bar) iff foo == bar (in particular contexts, as
> opposed to across the whole JVM).
It's the only way to ensure it's so if foo is a string literal,
as is rather common usage.
- Dave
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