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