-
JEP Task
-
Resolution: Delivered
-
P4
-
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
)
- blocks
-
JDK-8315737 JEP 483: Ahead-of-Time Class Loading & Linking
- Completed