Re: Is Java 1.6 number crunching slower than 1.5?
On 15.08.2009 13:55, Tom Anderson wrote:
On Sat, 15 Aug 2009, Robert Klemme wrote:
On 15.08.2009 13:18, Tom Anderson wrote:
On Fri, 14 Aug 2009, Kevin McMurtrie wrote:
I pulled out a few bits of code and patched it together so a test case
does the same kind of math as the real deal. (Don't be a style freak -
it's demo fragment squished to fit in a Usenet posting.)
Machine:
MacOS X 10.5.8
Darwin desktop.pixelmemory.us 9.8.0 Darwin Kernel Version 9.8.0: Wed
Jul
15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
---------------
Java 1.5
Version:
java version "1.5.0_20"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.5.0_20-b02-308)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_19-137, mixed mode)
Options: -d64 -mx2G
Output:
Millis: 5979.04
Millis: 5984.168
Millis: 5987.027
Millis: 5979.992
Millis: 5953.974
---------------
Java 1.6
Version:
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b02-215)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-87, mixed mode)
Options: -d64 -mx2G
Output:
Millis: 6943.407
Millis: 6937.324
Millis: 6917.524
Millis: 6931.662
Millis: 6917.065
Zoinks. I'd suggest filing a bug report with Sun - that is a
substantial performance regression.
Maybe Sun optimized the JVM in other areas (e.g. IO bandwidth and
throughput) which are more important for the average server
application today.
Doubtless. But they've still slowed down integer array maths of the kind
you're doing.
No - I'm not the OP.
Maybe the optimization kicks in later.
Perhaps - you could try that, right? Just change the top loop to a
while(true), fire the test off and leave it running overnight.
I am not convinced that what we have seen constitutes a bug.
It's not a bug, no, but it *is* a performance regression. How about
telling Sun and letting them decide if it's a problem?
I am not even convinced yet that there *is* a performance regression
(see for example Lew's results).
That said, they must know about it - i doubt they make a release without
doing fairly thorough benchmarking.
Exactly.
Besides, if you report it, they may suggest a fix to make it faster
under 1.6 - a VM flag, or code patterns to avoid or something.
Certainly I won't report it because I don't have a problem.
Cheers
robert
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/