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

Nashorn react.js benchmark performance regression

    Details

    • Subcomponent:
    • Introduced In Version:
    • Resolved In Build:
      b80

      Backports

        Description

        https://github.com/maximenajim/java-vs-node-react-rendering-microbenchmark

        This benchmark is reported to exhibit a significant performance regression that was introduced between 8u31 and 8u40.

        Running the benchmark with -Xprof indicates a ca. 88 % profile for java.lang.invoke.MethodHandleNatives.setCallSiteTargetNormal; a JFR run (-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=react.jfr,stackdepth=1024) indicates megamorphism around calls to "construct" functions from "instantiateReactComponent" functions.

        In principle, this can be due to either Nashorn or java.lang.invoke changes in between 8u31 and 8u40.

        JFR log is attached.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  attila Attila Szegedi
                  Reporter:
                  mhaupt Michael Haupt
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: