Comparing Btrfs, ZFS and bcachefs on the Workloads That Classic Benchmarks Miss
Translated by a model; the original is in Russian.
Developer Bartosz Fenski has published a piece comparing three modern file systems — Btrfs, ZFS and bcachefs. The core idea is right there in the headline: it's about how they behave under real-world workloads, the kind that classic benchmarks tend to steer clear of.
The observation isn't new, but that makes it no less relevant. Standard synthetic tests often measure peak numbers in idealized scenarios — linear reads and writes with large blocks, working with a single file, a "warmed-up" cache. It's over exactly those distances that file systems happily put up pretty figures. Yet what a system actually runs into in everyday use — mixed operations, lots of small files, concurrent access, the workings of snapshots and checksums — rarely makes it into such measurements.
The choice of the three contenders is a natural one. Btrfs and ZFS have long established themselves as "next-generation" file systems with built-in snapshots, data integrity checks and flexible volume management. Bcachefs is the youngest of the bunch: a project that in recent years has made its way into the mainline Linux kernel and continues to spark lively debate in the community.
The post has already drawn notable attention on Hacker News — 83 points and 76 comments, which, for a file-system topic, points to genuine interest from readers. Arguments over which of these projects is more reliable and faster in real conditions traditionally never die down, and in that climate an attempt to shift the focus from lab numbers to practical scenarios looks well warranted.
For anyone choosing a file system for real workloads, the piece is a reminder of a simple truth: numbers from synthetic tests are worth treating as a guideline, not a verdict. Real performance is determined by how your storage behaves on precisely your workload.
Source: Hacker News
Comments
Sign in, to comment.