Skip to main content

jdk1.6.0_04 performance

9 replies [Last post]
sbogrett
Offline
Joined: 2004-12-01
Points: 0

I have done some testing against our server application and found that out of the box performance of 1.6.0_04 is approximately 30% less than 1.6.0_03 with the same exact settings. Running the exact same tests on the same machine. I am running the 32bit JVM on XP 64 for this test. I have run them multiple times and get the same results.

My test is a simple script that runs several thousand tests through our server. I am wondering if there are known general performance issues with 1.6.0_04?

Thanks for any insight.

Regards,
Steve

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jimholmlund
Offline
Joined: 2006-09-13
Points: 0

So, you are using the server VM and you aren't accidentally getting into interpreter only mode.
Good.

Unfortunately, I can't reproduce this. I've run three different tests and each time,
the cost of debug mode in 6u4 is about the same as or even less than it is in 6u3.

Is there anything unusual about your app or the tests you run? How would you characterize them?

jjh

sbogrett
Offline
Joined: 2004-12-01
Points: 0

Thanks everyone for the comments and suggestions. We believe we have found the main issue. Generally we had been running with:

-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,address=9987,suspend=n

so that we could debug at anytime remotely. We found that these flags used to cause about a 5-8% overall degradation in our application while using jdk1.6.0_03... which we found an acceptable trade-off for the ability to debug remotely at any time.

With 1.6.0_04 this debugging cost rose to around 30-40% for our application. When we removed those JVM flags 1.6.0_04 is actually in-line with, and sometimes slightly better, than 1.6.0_03.

As always, thanks for the time spent...

Regards,
Steve

jimholmlund
Offline
Joined: 2006-09-13
Points: 0

We don't know of any regression in performance caused by use of
the debugging options. Could you
- add the -showversion option to your java command line and let us know what 'mode' is
reported for HotSpot, eg:
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)

I want to make sure it says 'mixed mode' and not 'interpreted mode' which would mean
that the JIT had been disabled.

- tell us all the command line options you use

Thanks
- jjh

sbogrett
Offline
Joined: 2004-12-01
Points: 0

We use very few JVM options:

-Xms128m
-Xmx1024m
-Xverify:none

The JVM version reports:

Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)

Regards,
Steve

sbogrett
Offline
Joined: 2004-12-01
Points: 0

Sorry... got the numbers wrong and left one out:

-Xms512m
-Xmx1024m
-Xmn128m

Regards,
Steve

claudio
Offline
Joined: 2003-06-17
Points: 0

Can you run a jmap -heap for both u3 and u4 and post the results here ?

fred34
Offline
Joined: 2004-06-19
Points: 0

Unfortunately the performance profiles of Java releases can change between maintenance releases, often as a consequence to a bug fix (slow and correct is better than fast but possibly incorrect in most cases). Have you had a look at the u4 release notes to see if anything changed? Though as far as I know, no new options were introduced, it was just a whole bunch of bug fixes (and there were a LOT in u4).

claudio
Offline
Joined: 2003-06-17
Points: 0

Sorry to say but u4 brought a new parameter -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses not entirely related to the original question, but related to your comment.

And this u4 came with a lot of compiler, garbage collector and runtime bug fixes, take a look at that.

http://java.sun.com/javase/6/webnotes/ReleaseNotes.html#160_04

ysramakrishna
Offline
Joined: 2005-04-25
Points: 0

> ... I am wondering if there
> are known general performance issues with 1.6.0_04?

Do you use any specific JVM options in your tests?
Have you tested on other platforms to see whether the
performance regression is specific to a 32 bit JVM on
WinXP/64?

Do you have a test case that you might be able to share
which illustrates the problem?