JDK-6987135 : Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6u14
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_2008
  • CPU: x86
  • Submitted: 2010-09-24
  • Updated: 2011-03-16
  • Resolved: 2011-03-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u24-rev b24Fixed 7Fixed hs20Fixed
Related Reports
Relates :  
Description
Result of running the test case Bm1.java provided by the customer on my test server. It's a very simple test case mono threaded (lower values are better):

JDK Version   Time (ms)
            32-bits  64-bits
6u12          11300     9471
6u13          11178     9455
6u14          19810     2672
6u15          19898     2778
6u16          19750     2651
6u17          19791     2733
6u18          18973     2589
6u19          18867     2630
6u20          18892     2651
6u21          18146     2645

We are seeing a big performance regression between 6u13 and 6u14.

The issue is seen with the -server VM argument set. Switching to -client improves the situation but still there is a little performance regression.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/build/hotspot/rev/ae065c367d93
04-12-2010

EVALUATION Changes for 6603011 added the conversion of long division by constant to the code with multiply. But some modern cpus improved DIV instruction performance so that 6603011 changes caused regression.
02-11-2010