Updated benchmark numbers in premain README
Sebastien Deleuze
sebastien.deleuze at broadcom.com
Thu Oct 2 09:52:05 UTC 2025
For the Spring Petclinic demo, I am not sure yet about the reason for it to
be an outlier, but I would suggest to:
- Update to a more recent commit than the outdated one (see
https://github.com/openjdk/leyden/blob/premain/test/hotspot/jtreg/premain/spring-petclinic/Makefile#L126
)
- Leverage the CDS/AOT cache friendly unpacking feature (available as of
Spring Boot 3.3)
https://docs.spring.io/spring-boot/reference/packaging/efficient.html
- Use a more production-like arrangement by avoiding creating the database
schema at startup
Spring-boot Getting Started Demo should be also updated to a more recent
version and use the CDS/AOT cache friendly unpacking feature.
I suggest we collaborate on that.
On Tue, Sep 30, 2025 at 9:49 PM <ioi.lam at oracle.com> wrote:
> I've updated the benchmark numbers using the latest premain tip (as of
> 2025/09/30):
>
>
> https://github.com/openjdk/leyden/blob/premain/README.md#premain-aot-cache-summary
>
> There's quite a bit of improvement due to the new compiler tuning changes
> by Aleksey. I also added a "2 cores only" mode to emulate microservices
> that are allocated very few CPUs.
>
>
> Here are the results of {premain AOT} vs {JDK 25, no CDS, no AOT}. Note
> that premain is generally much more beneficial with the 2 Cores Only case,
> except for PetClinic:
>
>
> Benchmark Desktop/Server Class (28 Cores) 2 Cores Only
>
> *----------------------------------------------------------------------------
> *Helidon Quick Start 3.59x 4.11x ++
> JavacBenchApp 50 source files 2.21x 3.17x ++++
> Micronaut First App Demo 2.91x 4.90x +++++++
> Quarkus Getting Started Demo 2.97x 3.74x +++
> Spring-boot Getting Started Demo 4.13x 4.70x ++
> Spring PetClinic Demo 3.33x 3.03x -- ???
>
>
>
> Changes from last time (
> https://github.com/openjdk/leyden/blob/46e03d000efd1b2784ad4dcd4c83310ace498ec0/README.md
> )
>
> The 2 Core Only case see a lot of improvements with the compiler tuning.
> PetClinic is again an outlier.
>
> Benchmark Desktop/Server Class (28 Cores) 2 Cores Only
>
> ----------------------------------------------------------------------------
> Helidon Quick Start 3.60 -> 3.59x ~ 3.53 -> 4.11x ++
> JavacBenchApp 50 source files 2.17 -> 2.21x ~ 2.74 -> 3.17x ++
> Micronaut First App Demo 2.85 -> 2.91x + 4.39 -> 4.90x ++
> Quarkus Getting Started Demo 2.73 -> 2.97x ++ 2.95 -> 3.74x +++
> Spring-boot Getting Started Demo 3.96 -> 4.13x ++ 3.70 -> 4.70x +++
> Spring PetClinic Demo 3.24 -> 3.33x + 3.04 -> 3.03x ~
>
> (The +, -, ~ are calculated by my eyeballs so not very scientific :-)
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20251002/13434922/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5486 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20251002/13434922/smime.p7s>
More information about the leyden-dev
mailing list