Skip to content

Use Java Application class data sharing (AppCDS). #4067

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rgrunber
Copy link
Member

@rgrunber rgrunber commented Jun 6, 2025

  • Boost startup performance using AppCDS

See https://developers.redhat.com/articles/2024/01/23/speed-java-application-startup-time-appcds & https://dev.java/learn/jvm/cds-appcds/

Taking a sample of 10 runs, sorted by duration.

JDT-LS startup time (currently)
1565 1643 1656 1670 1676 1684 1694 1706 1733 1904
median ~= 1680ms

JDT-LS startup time (PR)
1400 1405 1408 1415 1450 1470 1480 1498 1522 1541
median ~= 1460ms

Note that the first startup time with the PR was 1819ms as that's when the shared archive is generated. This phase is expected to be slow.

I also tried testing this entirely within vscode-java by measuring the duration until the Java language server reports it has started and observed the following times :

JavaLanguageServerPlugin startup time (currently)
2.345 2.247 2.268 2.229

JavaLanguageServerPlugin startup time (PR)
1.849 1.906 1.793 1.843

So basically, I would expect ~10-20% improvement on just the JDT-LS runtime initial startup (often 1-2 seconds).

- Boost startup performance using AppCDS

Signed-off-by: Roland Grunberg <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

1 participant