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

XMLWordPrintable

    • Type: JEP Task
    • Resolution: Delivered
    • Priority: P4
    • 24
    • Component/s: 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)

            Assignee:
            Claes Redestad
            Reporter:
            Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: