Java is(or 'was') not suitable for shot lived applications, and is notorious for slow startup and performance hiccups during warmup.
There is some features in openjdk that could speed up startup and reduce memory footprint, I propose we add a system test to ensure these features did improve applications as expected.
Again this test will set a minimal bar for feature's optimization effect rather than benchmarking between different implementations.(The passed/failed is the final result instead of detailed start-up time).
For example we assert AppCDS improves at least 5% for some workload.
Now we have jtreg tests to ensure they are working separately.
This system test will add test in aspects as does AppCDS work with JarIndex and some feature did bring improvements in real application
Summary
Java is(or 'was') not suitable for shot lived applications, and is notorious for slow startup and performance hiccups during warmup. There is some features in openjdk that could speed up startup and reduce memory footprint, I propose we add a system test to ensure these features did improve applications as expected.
Again this test will set a minimal bar for feature's optimization effect rather than benchmarking between different implementations.(The passed/failed is the final result instead of detailed start-up time).
What to include now
What is new
I am trying in https://github.com/joeyleeeeeee97/aqa-systemtest/tree/serverless/openjdk.test.serverless/doc. Looking forward to your feedback.