Skip to main content

Performance

How Query Engines Work 2. Why modern query engines think in columns

·13 mins
Why do modern query engines pass around columns instead of rows? Because the hardware loves it. This post explains why columnar layout is so fast, how Apache Arrow represents it in memory, and how to build and manipulate Arrow arrays in Rust without treating the whole thing like black magic.

Ownership in Rust 3. Clone guilt and the Republic of types

·9 mins
The Rust community turned .clone() into a moral failing. That dogma is as dangerous as the Jedi Council’s inability to adapt. We put the guilt under a microscope: the real performance numbers, the clippy lint that reinforces it, and the type theory that explains why Rust makes duplication visible in the first place.

Ownership in Rust 1. Stop fearing .clone()

·7 mins
The Rust community treats .clone() like a code smell. Sometimes it is. But most of the time, the instinct to avoid it costs more in complexity than the clone costs in nanoseconds. We dissect what clone actually does for every common type, the real cost spectrum across six orders of magnitude, and why Clone and Copy are not the same conversation.