<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>Hi Sebastien, if you could help us update the benchmark, that
      would be great!</p>
    <p>Thanks</p>
    <p>- Ioi</p>
    <div class="moz-cite-prefix">On 10/2/25 2:52 AM, Sebastien Deleuze
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAG5jep-YhFJ_hrCuypQr1=N--_6qrqj_E0DuHUvg+afS+QdtaQ@mail.gmail.com">
      
      <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" moz-do-not-send="true" class="moz-txt-link-freetext">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" moz-do-not-send="true" class="moz-txt-link-freetext">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" moz-do-not-send="true" class="moz-txt-link-freetext">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">
          <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" moz-do-not-send="true" class="moz-txt-link-freetext">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" moz-do-not-send="true" class="moz-txt-link-freetext">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>
    </blockquote>
  </body>
</html>