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

Performance Plan for JEP483: Ahead-of-Time Class Loading & Linking

XMLWordPrintable

    • Icon: JEP Task JEP Task
    • Resolution: Delivered
    • Icon: P4 P4
    • 24
    • performance
    • None

      This subtask is to specify what performance tests and results are for the implementation of JEP483: Ahead-of-Time Class Loading & Linking (JDK-8315737 ).

      (A) Confirmation of expected performance gain

      As described in the JEP document, we expect modest start-up improvements for applications that use a significant amount of invokedynamic operations. We can validate this claim using two simple startup benchmarks:

      [1] StreamTest - a small Java program that uses a few stream operations

      Expected performance improvement ~15-30%

      [2] javac HelloWorld.java - run the Java compiler on a small source file

      Expected performance improvement ~10-20%

      (See attachment perf-results-jep483-20241015.txt for details, as well as sample numbers collected by iklam)

      HelloStream BEFORE 0.0259389
      HelloStream AFTER  0.0185902 
      javac HelloWorld.java BEFORE 0.182298
      javac HelloWorld.java AFTER  0.149146

      (B) No performance degradation in baseline cases

      Validate that there is no performance degradation on CDS-enabled startup tests and benchmarks such as Renaissance, Dacapo, and SPECjbb2015 when class linking is not enabled (OOTB/-XX:-AOTClassLinking)

      (C) No/minimal performance degradation when enabled

      Validate that there are no or minimal performance degradation on CDS-enabled benchmarks such as Renaissance, Dacapo, and SPECjbb2015 when class linking is enabled (OOTB/-XX:+AOTClassLinking)

            redestad Claes Redestad
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: