libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.
MIT License
2.07k
stars
74
forks
source link
Pre-allocating buffers and registering them to io_uring #58
For high performance I/O, it would be great if there was an API to pre-allocate buffers and register them to io_uring as described in https://gavinray97.github.io/blog/io-uring-fixed-bufferpool-zig. Of course, we need to support the same thing for other backends that don't support registering buffers, although pre-allocation anyway helps.
For high performance I/O, it would be great if there was an API to pre-allocate buffers and register them to io_uring as described in https://gavinray97.github.io/blog/io-uring-fixed-bufferpool-zig. Of course, we need to support the same thing for other backends that don't support registering buffers, although pre-allocation anyway helps.