Another Look At The Bcachefs Performance on Linux 6.7

Written by Michael Larabel in Software on 30 November 2023 at 12:00 AM EST. Page 2 of 3. 81 Comments.
SQLite benchmark with settings of Threads / Copies: 2. XFS was the fastest.

When running two SQLite insertion tests concurrently that are simply carrying out thousands of INSERTs to an SQLite database, Bcachefs was outperforming Btrfs and not too far behind EXT4 and F2FS with these fresh benchmarks.

SQLite benchmark with settings of Threads / Copies: 4. Bcachefs was the fastest.
SQLite benchmark with settings of Threads / Copies: 8. Bcachefs was the fastest.
SQLite benchmark with settings of Threads / Copies: 16. Bcachefs was the fastest.

Most interesting though was when increasing the number of SQLite tests being carried out concurrently, Bcachefs was able to pull ahead of the other tested Linux file-systems to deliver the best performance.

Flexible IO Tester benchmark with settings of Type: Random Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 4KB, Job Count: 32, Disk Target: Default Test Directory. EXT4 was the fastest.

With the FIO tests when carrying out random reads, Bcachefs was still slower than the rest with the Linux 6.7 kernel state as of late November.

Flexible IO Tester benchmark with settings of Type: Sequential Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 2MB, Job Count: 1, Disk Target: Default Test Directory. XFS was the fastest.
Flexible IO Tester benchmark with settings of Type: Sequential Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 2MB, Job Count: 32, Disk Target: Default Test Directory. XFS was the fastest.

The sequential read performance meanwhile with Bcachefs wasn't quite up to par as the four other tested mainline file-systems but within striking distance.


Related Articles