Conviva finds io_uring underperforms mmap in Rust-based DataFusion query engine
Conviva engineers tried replacing mmap with io_uring for reading large Arrow IPC files in their DataFusion-based analytics engine, hoping to fix latency spikes seen under heavy concurrent query loads with mmap. Instead of resolving the problem, the io_uring approach ran slower, and the team's investigation traced the original mmap issue to page-cache thrashing and excessive page faults under high concurrency rather than the memory-mapping mechanism itself.