Blocks :
|
This subtask is to specify what performance tests and results are for the implementation of JEP483: Ahead-of-Time Class Loading & Linking ([JDK-8315737](https://bugs.openjdk.org/browse/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](https://bugs.openjdk.org/secure/attachment/111561/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`)