Performance Questions and Poller Implementation in Project Loom

Alan Bateman Alan.Bateman at oracle.com
Fri Nov 10 11:25:36 UTC 2023


On 10/11/2023 00:12, robert engels wrote:
> Btw, I had a chance to check out Helidon 4.0 and the results are 
> mixed. I really like the programming model.
>
> In a very simple (and probably not very meaningful nor scientific) 
> test github.com/robaho/httpserver 
> <https://urldefense.com/v3/__http://github.com/robaho/httpserver__;!!ACWV5N9M2RV99hQ!MaRcL-OkeTKhFMLWO41GoPNPaU62g46ixqLDPzafDqnq3M0aXR6wNkSkQ5LVZ3xZ8Q1ocjsybl6R9Mc9SA$> outperforms 
> it by 2x. I couldn’t get it to work on Linux (see 
> https://github.com/helidon-io/helidon/issues/7983 
> <https://urldefense.com/v3/__https://github.com/helidon-io/helidon/issues/7983__;!!ACWV5N9M2RV99hQ!MaRcL-OkeTKhFMLWO41GoPNPaU62g46ixqLDPzafDqnq3M0aXR6wNkSkQ5LVZ3xZ8Q1ocjsybl5NK77uZQ$>), 
> which is strange given that they have very similar non-async designs.
>
> The robaho httpserver achieves more than 6GB/sec on Linux under the 
> same conditions as reported in the issue. Hopefully the Helidon team 
> checks it out and makes some recommendations or at least provides 
> reasoning around the performance issues.
>

If I read this correctly, this is comparing two HTTP servers that serve 
up responses with a 1MB payload through the loopback interface.

For the Helidon case, it's Socket.write with the socket's send buffer 
(SO_SNDBUF) set to 32k.  The robaho server is using SocketChannel.write 
channel's socket send buffer set to 1.3MB. You probably need to 
configure them to be the same.

-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/loom-dev/attachments/20231110/6f691bcc/attachment.htm>


More information about the loom-dev mailing list