Re: String interning
Assaf Arkin writes: > For the life of me I cannot figure out what's wrong with > > if ( name.equals( "foo" ) ) > > or > > if ( name == "foo" || name.equals( "foo" ) ) The normal case is that the names are *not* the same (you probably test against many possibilities to find a match), so you pay the equals() cost most of the time. For comparison, I just whipped up a Java class to compare two (non-equal) Strings 10,000,000 times. Here are the USER timings: No comparisons (startup overhead): 0.67 seconds Compare with ==: 0.94 seconds (=0.27 seconds) Compare with equals(): 8.00 seconds (=7.33 seconds) That's a very significant performance difference. It doesn't matter if I use == before equals(), of course, since they are not == or equals(). Now, I don't know if the difference is big enough to show up in an overall application, but given the efficiency of ==, it would probably be an order of magnitude faster to test against 30 or 40 names using == than it would to make a single Hashtable or HashMap lookup. All the best, David -- David Megginson david@m... http://www.megginson.com/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... 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.
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format