adoptium / adoptium/aqa-systemtest

Propose to add system test for openjdk startup features

Open
#470 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
27
Forks
70
PR merge metrics
No merged PRs in 30d

Description

## 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).
> For example we assert [AppCDS](https://wiki.openjdk.java.net/display/HotSpot/Application+Class+Data+Sharing+-+AppCDS) improves at least 5% for some workload.

## What to include now
- [AppCDS](https://wiki.openjdk.java.net/display/HotSpot/Application+Class+Data+Sharing+-+AppCDS)
- [JarIndex](https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#JAR_Index)

## What is new
> 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`

I am trying in https://github.com/joeyleeeeeee97/aqa-systemtest/tree/serverless/openjdk.test.serverless/doc.
Looking forward to your feedback.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed work in the serverless/openjdk.test.serverless/doc branch and the linked AppCDS and JarIndex references. Define the system-test scope and workload before implementing it; done means the test covers the proposed feature interactions and reports whether the stated startup or memory improvement threshold is met.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.