The benchmark with many more metrics: https://www.phoronix.com/review/bcachefs-linux-67
Edit: The benchmarks were done with a debug variable set, which explains the weak IO.
“Why does btrfs get a huge perf hit with background IO work?”
Seems unreasonably slow to me that xterm would take a second to start. My two computers running kernel 6.7 are slow than the machine in the test, both have BTRFS on LUKS.
I tried a cold start of xterm on my older thinkpad with an NVMe drive at ~0.3s.
A cold start on my desktop (also NVMe), 0.08s.
I’m unable to reproduce. I wonder if he might’ve had a fresh install with some background operations grinding on, or some indexing going on.
What background IO load did you run?
I was torrenting porn with good speed.
Incidentally
Thanks for sharing!
Hold up. I thought btrfs was better than ext4?
Filesystems aren’t so simple. Modern advanced filesystems like btrfs, zfs and bcachefs are more than just filesystems.
E.g. they include features like volume management, compression and sometimes encryption. Most features can also be achieved with for example ext4 + lvm + luks, but it’s nice to have all in one system with unified configuration.
tl;dr
Btrfs does more than ext4, which can have a negative performance impact, depending on the use case/metric. Usually the features gained by btrfs outweigh the small difference in performance imo.
I’m sure this is a specific workload that BTRFS struggles with that others handle just fine.
Other workloads BTRFS will be better, and in others it will be worse. There’s no one size fits all.
Valve decided on Ext4 for Steam Deck and did so probably not just for shits and giggles.
I was curious about this too. Definitely making me question some of my own thoughts and assumptions about btrfs.
It probably has to do with the CoW nature of BTRFS compared to the others which don’t do CoW.
Bcachefs does use CoW iirc~
It does, it says so in the first sentence of the Wikipedia article
Ah, BCacheFS is also a lot less of a clusterfuck then BTRFS is too





