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: Thu, 13 Jan 2000 11:02:40 -0000

Tyler Baker wrote,
> For most documents, making a call to String.intern()
> 50-100 times in a 100KB document is a lot less expensive than 
> doing:
>
> if (x.equals("foo") {
> 
> }
> else if (x.equals("bar") {
>
> }
> etc...
> 
> As opposed to:
>
> if (x == "foo") {
> 
> }
> else if (x == "bar) {
>
>}
> etc.
>
> Calling the equals method can get expensive for large case > > statements.

Sure ... so Don't Do That (tm) ...

If you've got what's effectively a huge case statement then
use a lookup table ... a HashMap or a trie of some sort or
another. Either of those will outperform a large number of
chained String.equals() calls or == tests.

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