- uses an event loop created with io_uring
- uses liburing HEAD https://github.com/axboe/liburing
- Linux 5.7 or higher with IORING_FEAT_FAST_POLL and IORING_OP_PROVIDE_BUFFERS required
make liburing
make io_uring_echo_server
./io_uring_echo_server [port_number]
https://github.com/frevib/epoll-echo-server
https://github.com/frevib/io_uring-echo-server/blob/io-uring-feat-fast-poll/benchmarks/benchmarks.md
- Use IORING_OP_PROVIDE_BUFFERS
- Use IORING_FEAT_FAST_POLL, which increases performance a lot
- Remove all polling, this is now handled by IORING_FEAT_FAST_POLL
Fix bug that massively overstated the performance.
Use pre-allocated sqe->user_data
instead of dynamically allocating memory.
Fix memory leak.
Working release.