Linux native 5.19
AMD Ryzen 5800X @ 4.50 GHz
All echo servers pinned to CPU 0
Echo bench threads pinned to CPU 1-4
Each echo bench thread uses epoll
Bottom of chart cut off to exaggerate differences
-
xe is compiled without -flto
-
xe, l4cpp, photon, and epoll use 512 byte buffers
-
xe, photon, and epoll align buffers to 512 byte boundary
-
frevib uses io_uring_prep_provide_buffers
-
frevib did not complete for 2000 and 4000 connections (sqring size too small)
-
xe uses a submission ring size of 256 (faster than 512)
-
l4cpp uses a submission ring size of 512 (which is slower when connections > 1000)