↓ Skip to main content

“We will begin with a simple program with a throughput of around 3.5GiB/s, and improve its performance twentyfold.”

Francesco Mazzolimazzo.li ↗

A plain write and read through a pipe tops out around 3.5GiB/s. Splice, huge pages and busy looping push it twenty times higher. Every step of the climb is the kernel copying and paging data you never asked it to touch. The default pipe is not slow because pipes are hard. It is slow because nobody tuned it.