[
Lists Home |
Date Index |
Thread Index
]
- From: Miles Sabin <msabin@cromwellmedia.co.uk>
- To: xml-dev@ic.ac.uk
- Date: Tue, 18 Jan 2000 10:43:28 -0000
Tyler Barker wrote,
> You will get similiar results on every platform you test it on
> unless the JVM authors figure out a way to make testing for
> object identity more expensive than dynamic method
> invocation. Doing that would take some real talent (-:
I agree that == will always be faster than String.equals().
I don't agree that it will be _significantly_ so.
David reported a performance margin of 36:1 in favour of ==
for his benchmark on a Linux JDK 1.2. That's _way_ too large
... Linux JVMs clearly have a way to go before they're ready for
prime-time.
On WinNT with Sun's 1.3 beta and Hotspot server VM 2.0RC running
David's benchmark I get a margin of 1.3:1 in favour of ==
(String.equals is presumably getting inlined so we're just
adding the cost of a couple of extra instructions and a
memory access or two to the inner loop). Even with the JIT
disabled I only get a margin of 8:1 in favour of ==. As soon as
I get a chance I'll test this on Solaris Sparc ... I'd expect
similar results.
Bearing in mind that the cost of the code under the conditionals
is likely to completely drown out the small cost (with good JIT)
of String.equals relative to ==, I find it very difficult to see
why the cost of String.intern'ing should be imposed on _all_
SAX implementers.
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.
|