Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8024927

Nashorn performance regression with CompressedOops

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • hs25
    • hs25
    • hotspot
    • b47
    • b57
    • x86
    • linux_ubuntu
    • Not verified

        I'm seeing a performance regression of roughly 20% when running Nashorn with various Octane benchmarks on Linux x64 with CompressedOops.

        This was introduced in JDK1.8.0-b105 and Hotspot 25.0-b47, and I've tracked it down to hotspot commit 740e263c80c6 (8003424: Enable Class Data Sharing for CompressedOops...).

        Before that commit, Nashorn runs roughly 10% faster with CompressedOops than without. After that commit, running with CompressedOops is now slower than without by about the same margin. The same is reproducible in JDK8 b106 and a recent jdk8-tl build.

        I'm attaching a subset of the Google Octane benchmark to reproduce the problem. This runs the benchmark 20 times, higher score is better. I recommend running with tiered compilation disabled because it seems to make results more predictable.

        java -server -XX:-TieredCompilation -XX:+UseCompressedOops -Xms2G -Xmx2G jdk.nashorn.tools.Shell run-richards.js

              coleenp Coleen Phillimore
              hannesw Hannes Wallnoefer
              Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated:
                Resolved: