<div dir="ltr">For the Spring Petclinic demo, I am not sure yet about the reason for it to be an outlier, but I would suggest to:<div> - Update to a more recent commit than the outdated one (see <a href="https://github.com/openjdk/leyden/blob/premain/test/hotspot/jtreg/premain/spring-petclinic/Makefile#L126">https://github.com/openjdk/leyden/blob/premain/test/hotspot/jtreg/premain/spring-petclinic/Makefile#L126</a>)</div><div> - Leverage the CDS/AOT cache friendly unpacking feature (available as of Spring Boot 3.3) <a href="https://docs.spring.io/spring-boot/reference/packaging/efficient.html">https://docs.spring.io/spring-boot/reference/packaging/efficient.html</a></div><div> - Use a more production-like arrangement by avoiding creating the database schema at startup</div><div><br></div><div>Spring-boot Getting Started Demo should be also updated to a more recent version and use the CDS/AOT cache friendly unpacking feature.</div><div><br></div><div>I suggest we collaborate on that.<br><div><br></div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Sep 30, 2025 at 9:49 PM <<a href="mailto:ioi.lam@oracle.com">ioi.lam@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
  <div>
    <p><font face="monospace">I've updated the benchmark numbers using
        the latest premain tip (as of 2025/09/30):</font></p>
    <p><font face="monospace"><a href="https://github.com/openjdk/leyden/blob/premain/README.md#premain-aot-cache-summary" target="_blank">https://github.com/openjdk/leyden/blob/premain/README.md#premain-aot-cache-summary</a></font></p>
    <p><font face="monospace">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.</font></p>
    <p><font face="monospace"><br>
        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:<br>
        <br>
        <br>
        Benchmark        Desktop/Server Class (28 Cores)   2 Cores Only<br>
        <b>----------------------------------------------------------------------------<br>
        </b>Helidon Quick Start                3.59x               
        4.11x  ++<br>
        JavacBenchApp 50 source files      2.21x                3.17x 
        ++++<br>
        Micronaut First App Demo           2.91x                4.90x 
        +++++++<br>
        Quarkus Getting Started Demo       2.97x                3.74x 
        +++<br>
        Spring-boot Getting Started Demo   4.13x                4.70x 
        ++<br>
        Spring PetClinic Demo              3.33x                3.03x 
        -- ???<br>
      </font></p>
    <p><font face="monospace"><br>
        <br>
        Changes from last time (
<a href="https://github.com/openjdk/leyden/blob/46e03d000efd1b2784ad4dcd4c83310ace498ec0/README.md" target="_blank">https://github.com/openjdk/leyden/blob/46e03d000efd1b2784ad4dcd4c83310ace498ec0/README.md</a>
        )</font></p>
    <p><font face="monospace">The 2 Core Only case see a lot of
        improvements with the compiler tuning. PetClinic is again an
        outlier.</font></p>
    <p><font face="monospace">Benchmark           Desktop/Server Class
        (28 Cores)   2 Cores Only<br>
----------------------------------------------------------------------------<br>
        Helidon Quick Start                3.60 -> 3.59x  ~      3.53
        -> 4.11x  ++<br>
        JavacBenchApp 50 source files      2.17 -> 2.21x  ~      2.74
        -> 3.17x  ++<br>
        Micronaut First App Demo           2.85 -> 2.91x  +      4.39
        -> 4.90x  ++<br>
        Quarkus Getting Started Demo       2.73 -> 2.97x  ++     2.95
        -> 3.74x  +++<br>
        Spring-boot Getting Started Demo   3.96 -> 4.13x  ++     3.70
        -> 4.70x  +++<br>
        Spring PetClinic Demo              3.24 -> 3.33x  +      3.04
        -> 3.03x  ~</font></p>
    <p><font face="monospace">(The +, -, ~ are calculated by my eyeballs
        so not very scientific :-)</font></p>
    <p><font face="monospace"><br>
      </font></p>
    <p><font face="monospace"><br>
      </font></p>
  </div>

</blockquote></div>