Skip to content

Document Leyden AOT use in Quarkus#52596

Merged
gsmet merged 1 commit intoquarkusio:mainfrom
geoand:docs-leyden-aot
Feb 16, 2026
Merged

Document Leyden AOT use in Quarkus#52596
gsmet merged 1 commit intoquarkusio:mainfrom
geoand:docs-leyden-aot

Conversation

@geoand
Copy link
Contributor

@geoand geoand commented Feb 14, 2026

This PR restructures the AppCDS documentation to focus on Leyden AOT as the primary feature.

@geoand geoand force-pushed the docs-leyden-aot branch 8 times, most recently from a0b9f73 to 20b4ad1 Compare February 14, 2026 08:10
@github-actions
Copy link

github-actions bot commented Feb 14, 2026

🙈 The PR is closed and the preview is expired.

@geoand geoand marked this pull request as ready for review February 16, 2026 06:45
@geoand geoand requested review from gsmet February 16, 2026 06:46
@quarkus-bot

This comment has been minimized.

@geoand geoand changed the title Document Leyden AOT caching for faster startup times Document Leyden AOT use in Quarkus Feb 16, 2026
Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a few comments.

Comment on lines +52 to +64
To use the `aot-jar` packaging:

[source,bash]
----
./mvnw package -Dquarkus.package.jar.type=aot-jar
----

Or configure it in `application.properties`:

[source,properties]
----
quarkus.package.jar.type=aot-jar
----
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather avoid this section and say something like: 'It is not recommended to use the aot-jar packaging outside of the AOT use case, as the fast-jar packaging offers a lot more optimizations for the non-AOT case.'

1. Build your application with `aot-jar` packaging
2. Create a base container image
3. Run integration tests to train the AOT cache
4. Create a new container image (with `-aot` suffix) that includes the AOT cache, pre-configured to use it
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be clear it's the version that is suffixed, not the container image name.

Comment on lines +12 to +13
This guide explains how to leverage JDK's Ahead-of-Time (AOT) caching capabilities in Quarkus to achieve significantly faster application startup times.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add more explanation as to what it is and why it's faster: reducing the class loading burden by having a cache of loaded and linked classes.
Maybe we can also explain the method profiling.

I wouldn't expect people to be very familiar with it, if we want to make it more popular.

I also think we should state that it's still a JVM application and maybe have a comparison of native vs AOT.

We can still add all this later if you're not comfortable doing it now.

Or maybe we should have a Packaging guide that explain how you can package your application and the various approaches.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the time being, I don't want to add much information and I would rather wait for the blog post series from the JDK team and then link to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe we should have a Packaging guide that explain how you can package your application and the various approaches.

Yeah, I think this makes sense as a next step

Co-authored-by: Guillaume Smet <guillaume.smet@gmail.com>
@geoand
Copy link
Contributor Author

geoand commented Feb 16, 2026

Thanks for the review!

PR updated

@quarkus-bot
Copy link

quarkus-bot bot commented Feb 16, 2026

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit b16d510.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's get this in and I will update it once we manage to get the default value in.

@gsmet gsmet merged commit 109eb7b into quarkusio:main Feb 16, 2026
5 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.34 - main milestone Feb 16, 2026
@quarkus-bot quarkus-bot bot added the kind/enhancement New feature or request label Feb 16, 2026
@geoand
Copy link
Contributor Author

geoand commented Feb 16, 2026

Same for the Gradle stuff

@geoand geoand deleted the docs-leyden-aot branch February 16, 2026 17:48
@gsmet gsmet removed this from the 3.34 - main milestone Feb 17, 2026
@gsmet gsmet added this to the 3.32.0 milestone Feb 17, 2026
@cescoffier
Copy link
Member

🤖 Automatically associated with the WG - AOT Support Working Group based on AI classification.

@cescoffier cescoffier moved this to Done in WG - AOT Support Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Make AOT caching a lot more visible in our documentation

3 participants