JDK-8194659 : SPECjvm2008-MPEG performance regressions in 10-b31
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 10
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows
  • CPU: x86_64
  • Submitted: 2018-01-04
  • Updated: 2018-01-08
  • Resolved: 2018-01-08
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 10
10Resolved
Related Reports
Duplicate :  
Relates :  
Description
Both:
   SPECjvm2008-MPEG
   SPECjvm98-Server.mpegaudio
have regressed with 10-b31.

The cases that reproduced through the triage process are:
��� WXS / SPECjvm2008-MPEG-G1            approx  -3.5%
��� WXS / SPECjvm2008-MPEG-ParGC      approx  -2.5%
��� WXS / SPECjvm98-Server.mpegaudio   approx  -3.5%
��� MXS / SPECjvm98-Server.mpegaudio   approx  -1.7%

Regressions hold into subsequent releases, AND are behind the release baseline.

VMswap results indicate the cause to be in the JVM.

The MXS result may be noise, but included here for completeness.
Other platforms x64 show signs of being impacted, but statistical significance was reached (though they were close) and so they're not reported.


Copied from JDK-8194660

Both: 
   SPECjvm2008-SOR.large-G1 
   SPECjvm2008-SOR.large-ParGC 
show regressions in 10-b31 on SPARC/Solaris. 

��� SPECjvm2008-SOR.large-G1 approx 0.5% 
��� SPECjvm2008-SOR.large-ParGC approx 0.9% 
Comments
I've filed JDK-8194740 to investigate the problem with UseSubwordForMaxVector and will close this bug as duplicate.
08-01-2018

Performance runs showed that the regression was indeed introduced by the patch for JDK-8189067 but is not due to the actual fix but due to re-enabling of -XX:UseSubwordForMaxVector which was temporarily disabled by JDK-8185013. The UseSubwordForMaxVector optimization, and therefore the performance regression, was already introduced in JDK 9 by JDK-8175096.
08-01-2018

Here's the filter that lists all relevant compiler changes in JDK 10 b31: https://bugs.openjdk.java.net/issues/?jql=project%20%3D%20JDK%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20%3D%20%2210%22%20AND%20component%20%3D%20hotspot%20AND%20%22Resolved%20In%20Build%22%20%3D%20b31%20AND%20Subcomponent%20in%20(compiler%2C%20compiler%2C%20compiler%2C%20compiler)%20AND%20labels%20not%20in%20(testbug%2C%20openjdk%2C%20aot%2C%20jvmci%2C%20noreg-self%2C%20cleanup%2C%20compilercontrol)%20ORDER%20BY%20resolved It could be that the fix for JDK-8189067 introduced this regression. I'll execute some performance runs to verify. ILW = Small performance regression, 2 benchmarks on Windows (and probably other platforms), no workaround = MMH = P3
05-01-2018