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)→
More from Infra
- GPU programming diarist digs into physical memory systems after studying pipeline parallelism — blaizedsouza · 2026-09-06
- Solo Dev Spent Six Months on an On-Device Android Agent Built as an Editable Graph, Not a Prompt — alexeyw · 2026-09-06
- Time-encoded analog photonic interposer links vision sensors to analog accelerators, 2.04x EDP gain — jwt0625 · 2026-09-06
- Microsoft & Cornell Paper: Free Pause Tokens Boost Prediction With ~1.14x Training-Only Overhead — dair_ai · 2026-09-06
- DLSS5 video upscaling is lightning fast—could multipass x2 loops replace AI upscalers? — More-Ad5919 · 2026-09-06
- That PyTorch matmul Precision Warning Is Worth Reading After All — generativist · 2026-09-06