OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: String interning (WAS: SAX2/Java: Towards a final form)

[ Lists Home | Date Index | Thread Index ]
  • From: Miles Sabin <msabin@cromwellmedia.co.uk>
  • To: xml-dev-digest@ic.ac.uk
  • Date: Wed, 19 Jan 2000 10:26:23 -0000

David Megginson wrote,
> Tyler Baker wrote,
> > And foo == "x", then your only additional overhead to a 
> > straight identity test is the dynamic method invocation of 
> > String.equals().
>
> Only if the strings are equal -- if you're in a long switch 
> statement, most of them won't be equal, and the overhead will be 
> much more than the function call.

With a JIT that can inline this is a non-issue. We lose the
function call overhead, and the != case is actually the best
case for equals() ... we may only have to inspect the first
character to determine a mismatch. So the overhead boils down
to a few extra instructions and a few extra memory accesses.

This isn't just theoretical ... Hotspot does just that. In
fact I can't see any real reason why less ambitious JITs
shouldn't be able to do just as well, because,

* java.lang.String is final, so dynamic method invocation can
  be short-circuited.

* java.lang.String is magic: it has a special role in the
  language right down to the byte-code level. JITs can, and
  probably should, special case it.

I think it would be useful if people using JVMs with poor String
performance hassled the relevant vendors/maintainers and got them
to improve the situation.

Cheers,


Miles

-- 
Miles Sabin                       Cromwell Media
Internet Systems Architect        5/6 Glenthorne Mews
+44 (0)20 8817 4030               London, W6 0LJ, England
msabin@cromwellmedia.com          http://www.cromwellmedia.com/


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@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.






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS