Replacing MMAP with Io_uring in Our Rust Query Engine Slowed Performance
Conviva's shift from mmap to io_uring revealed performance issues under load due to memory pressure.
At Conviva, mmap was initially effective for reading Arrow IPC files, but it became problematic under heavy concurrent loads due to memory pressure. Performance tests revealed that a single pod outperformed four pods, highlighting issues with mmap's shared state and memory management.
This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work