|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|
|||||||||

Cart








