<div dir="ltr">FWIW My 2c<div><div>- Great comments from Franz</div><div>- Benchmarking is pretty hard and takes quite a lot of time and effort</div><div>- A description of the benchmark testing I did follows below ...</div><div><br></div><div>For my own benchmarking / testing of Virtual Threads I used Jetty with platform threads vs Jetty with virtual threads and the endpoint had a configurable amount of "simulated IO wait" using LockSupport. The variables for this test was:</div><div>- Virtual Threads v Platform Threads</div><div>- Length of "Simulated IO wait"</div><div>- Amount of concurrent load (especially relative to the Jetty max thread pool size which I left at 200 which is the default)</div><div><br></div><div>Note: The Jetty configured max thread pool size for platform threads I left at the default of 200. This number was important for my test wrt looking at behaviour when concurrent requests exceed this.</div><div><br></div><div>With Helidon 4, I don't think I can do this same style of test because there isn't a "use platform threads" option with Helidon 4 (which is fine by me, I'm personally pretty impressed by the simplicity of the Helidon 4 internals which Virtual Threads provides).</div><div><br></div><div>I also did a Http Client based test using the JDK HttpClient benchmarking blocking Virtual Threads vs HttpClient async. The testing I performed using Jetty and HttpClient gave me a lot of confidence in how Virtual Threads performed.</div><div><br></div></div><div>Maybe that helps or is interesting. Also, just to say I don't work for Oracle or the Helidon team but I'm highly interested in using Helidon 4 SE as my recommended web server going forward.</div><div><br></div><div>Cheers, Rob.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 2 Nov 2023 at 09:22, Ilya Starchenko <<a href="mailto:st.ilya.101@gmail.com">st.ilya.101@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote">
    <div dir="ltr" class="gmail_attr">On 1 Nov 2023 at 01:51:44, Francesco Nigro <<a href="mailto:nigro.fra@gmail.com" target="_blank">nigro.fra@gmail.com</a>> wrote:<br></div>
    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(155,155,155);color:rgb(155,155,155)" type="cite">
         Techempower plaintext is highly pipelined (in the worst way, because is http 1.1 and NOT http 2, which is designed for that) and CPU bound, due to http encoding/decoding, especially if the framework is a "proper" one (see my rant at  <a href="https://github.com/TechEmpower/FrameworkBenchmarks/discussions/7984" target="_blank">https://github.com/TechEmpower/FrameworkBenchmarks/discussions/7984</a>) and materialize properly the headers; which means that an improvement in that part can be the responsible to achieve better numbers in techempower
    </blockquote>
</div>
<br>
<div dir="ltr">
    <p style="margin:0px;font-style:normal;font-variant-caps:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:"Helvetica Neue";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">Franz,</p>
<p style="margin:0px;font-style:normal;font-variant-caps:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:"Helvetica Neue";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal;min-height:14px"><br></p>
<p style="margin:0px;font-style:normal;font-variant-caps:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:"Helvetica Neue";font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">Thank you for the clarification. I've already noticed that some of the Techempower benchmarks don't accurately represent real-world scenarios, but I haven't found another benchmark that would be more representative. I'll try profiling and perhaps look for alternative benchmarks (I've heard that the Quarkus team is working on some benchmarks).</p>
</div></div>
</blockquote></div>