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

[Graal] 30% regression to C2 on MethodHandlesGuardWithTest.testInvoke

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Cannot Reproduce
    • Icon: P4 P4
    • None
    • 12
    • hotspot

      The open corpus of JMH micros is a maven project here: http://hg.openjdk.java.net/code-tools/jmh-jdk-microbenchmarks

      On the MethodHandlesGuardWithTest.testInvoke the performance of Graal is about 30% slower than C2 with default flags, on one test system with 12-b15:

      C2:
      Benchmark Mode Cnt Score Error Units
      MethodHandlesGuardWithTest.testInvoke avgt 10 9.194 � 0.095 ns/op
      Graal:
      MethodHandlesGuardWithTest.testInvoke avgt 10 11.711 � 0.200 ns/op

      Here C2 uses the _profileBoolean intrinsic, but C2 also has slightly better performance than Graal even when it is disabled with "-XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_profileBoolean":

      MethodHandlesGuardWithTest.testInvoke avgt 15 10.268 � 0.035 ns/op

      We would like to see if the _profileBoolean intrinsic could be adapted to Graal to improve the performance.

            dlong Dean Long
            ecaspole Eric Caspole
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: