Conviva Swapped mmap for io_uring in Its Rust Query Engine — It Got Slower

blaizedsouza · x · 2026-09-06

Conviva engineer Evan Chan published a two-part engineering postmortem: replacing mmap with iouring in their Rust query engine actually made it slower. mmap was originally convenient — Arrow IPC's layout is designed for zero-copy random access, and mmap let them lazily read huge numbers of files without managing memory — but real concurrent production workloads exposed its problems. Part 2 covers making iouring actually fast: I/O threads, chunking, and the memory story nobody talks about. A rare hands-on account of a modernization attempt that backfired, with both full posts linked.

Related event: Conviva Found io_uring Slower Than mmap in Rust Query Engine(2 posts)→

Original post →

More from Infra

Infra channel →