Zero-copy is the most expensive lie in modern systems
A new post from Iceberg Lake House — written by the team that builds the open-source columnar format — walks through a claim that keeps showing up in system design talks: zero-copy avoids copying data, so it is faster. The post says it is not. The copy is cheap. The cache misses it causes are expensive. The real cost is data moving through the cache hierarchy, not the memcpy itself.
The author lays out what zero-copy looks like in practice — passing pointers instead of copying buffers — and then shows why pointer chasing through indirection tables burns L1 and L2 cache. When the data you need is scattered across the heap, the CPU spends more time waiting for memory than doing work. A simple copy that lands contiguously in the cache can beat a zero-copy path that jumps around the heap.
The post is not a rant against zero-copy. It is a correction. If you are building a query engine, a message bus, or anything that shuffles large buffers, this is the kind of thing that saves you from premature optimization. The lesson: measure the cache, not the memcpy.
This is aiexplainerworthy — it explains a system-design idea clearly rather than hyping a specific tool. It is the kind of post that lands well for anyone who has shipped something and watched the profiler lie to them.
Why this matters for us: la gente builds things and then blames the tool when the numbers don't add up. Zero-copy is the latest shiny word — but cache is the real boss. If your system is churning data, this post will save you from shipping the wrong optimization.
“The copy is cheap. The cache misses are expensive.”