Bcachefs Linux 6.7 Benchmarks Bcachefs benchmarks by Michael Larabel for a future article. Bcachefs: Processor: AMD Ryzen 9 7950X 16-Core @ 5.88GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG STRIX X670E-E GAMING WIFI (1416 BIOS), Chipset: AMD Device 14d8, Memory: 2 x 16 GB DDR5-6000MT/s F5-6000J3038F16G, Disk: 2000GB Samsung SSD 980 PRO 2TB + 2048GB SOLIDIGM SSDPFKKW020X7, Graphics: AMD Radeon 16GB (2124/1218MHz), Audio: AMD Navi 31 HDMI/DP, Monitor: ASUS MG28U, Network: Intel I225-V + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Ubuntu 23.10, Kernel: 6.6.0-phx-bcachefs (x86_64), Desktop: GNOME Shell 45.0, Display Server: X Server, OpenGL: 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.54), Compiler: GCC 13.2.0 + LLVM 16.0.6, File-System: BcacheFS, Screen Resolution: 3840x2160 EXT4: Processor: AMD Ryzen 9 7950X 16-Core @ 5.88GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG STRIX X670E-E GAMING WIFI (1416 BIOS), Chipset: AMD Device 14d8, Memory: 2 x 16 GB DDR5-6000MT/s F5-6000J3038F16G, Disk: 2000GB Samsung SSD 980 PRO 2TB + 2048GB SOLIDIGM SSDPFKKW020X7, Graphics: AMD Radeon 16GB (2124/1218MHz), Audio: AMD Navi 31 HDMI/DP, Monitor: ASUS MG28U, Network: Intel I225-V + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Ubuntu 23.10, Kernel: 6.6.0-phx-bcachefs (x86_64), Desktop: GNOME Shell 45.0, Display Server: X Server, OpenGL: 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.54), Compiler: GCC 13.2.0 + LLVM 16.0.6, File-System: ext4, Screen Resolution: 3840x2160 Btrfs: Processor: AMD Ryzen 9 7950X 16-Core @ 5.88GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG STRIX X670E-E GAMING WIFI (1416 BIOS), Chipset: AMD Device 14d8, Memory: 2 x 16 GB DDR5-6000MT/s F5-6000J3038F16G, Disk: 2000GB Samsung SSD 980 PRO 2TB + 2048GB SOLIDIGM SSDPFKKW020X7, Graphics: AMD Radeon 16GB (2124/1218MHz), Audio: AMD Navi 31 HDMI/DP, Monitor: ASUS MG28U, Network: Intel I225-V + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Ubuntu 23.10, Kernel: 6.6.0-phx-bcachefs (x86_64), Desktop: GNOME Shell 45.0, Display Server: X Server, OpenGL: 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.54), Compiler: GCC 13.2.0 + LLVM 16.0.6, File-System: btrfs, Screen Resolution: 3840x2160 F2FS: Processor: AMD Ryzen 9 7950X 16-Core @ 5.88GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG STRIX X670E-E GAMING WIFI (1416 BIOS), Chipset: AMD Device 14d8, Memory: 2 x 16 GB DDR5-6000MT/s F5-6000J3038F16G, Disk: 2000GB Samsung SSD 980 PRO 2TB + 2048GB SOLIDIGM SSDPFKKW020X7, Graphics: AMD Radeon 16GB (2124/1218MHz), Audio: AMD Navi 31 HDMI/DP, Monitor: ASUS MG28U, Network: Intel I225-V + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Ubuntu 23.10, Kernel: 6.6.0-phx-bcachefs (x86_64), Desktop: GNOME Shell 45.0, Display Server: X Server, OpenGL: 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.54), Compiler: GCC 13.2.0 + LLVM 16.0.6, File-System: f2fs, Screen Resolution: 3840x2160 XFS: Processor: AMD Ryzen 9 7950X 16-Core @ 5.88GHz (16 Cores / 32 Threads), Motherboard: ASUS ROG STRIX X670E-E GAMING WIFI (1416 BIOS), Chipset: AMD Device 14d8, Memory: 2 x 16 GB DDR5-6000MT/s F5-6000J3038F16G, Disk: 2000GB Samsung SSD 980 PRO 2TB + 2048GB SOLIDIGM SSDPFKKW020X7, Graphics: AMD Radeon 16GB (2124/1218MHz), Audio: AMD Navi 31 HDMI/DP, Monitor: ASUS MG28U, Network: Intel I225-V + Intel Wi-Fi 6 AX210/AX211/AX411 OS: Ubuntu 23.10, Kernel: 6.6.0-phx-bcachefs (x86_64), Desktop: GNOME Shell 45.0, Display Server: X Server, OpenGL: 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.54), Compiler: GCC 13.2.0 + LLVM 16.0.6, File-System: xfs, Screen Resolution: 3840x2160 Application Start-up Time 3.4.0 Background I/O Mix: Only Sequential Reads - Application To Start: xterm - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.181778 |========= EXT4 ..... 0.163741 |======== Btrfs .... 1.127610 |========================================================== F2FS ..... 0.170500 |========= XFS ...... 0.181524 |========= Application Start-up Time 3.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: xterm - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.242639 |============== EXT4 ..... 0.205861 |============ Btrfs .... 1.001440 |========================================================== F2FS ..... 0.160278 |========= XFS ...... 0.213583 |============ Application Start-up Time 3.4.0 Background I/O Mix: Only Sequential Reads - Application To Start: GNOME Terminal - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.519000 |========= EXT4 ..... 0.487056 |======== Btrfs .... 3.461440 |========================================================== F2FS ..... 0.355833 |====== XFS ...... 0.518833 |========= Application Start-up Time 3.4.0 Background I/O Mix: Only Sequential Reads - Application To Start: LibreOffice Writer - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.382000 |========== EXT4 ..... 0.442889 |============ Btrfs .... 2.148780 |========================================================== F2FS ..... 0.289333 |======== XFS ...... 0.443666 |============ Application Start-up Time 3.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: GNOME Terminal - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.727333 |============== EXT4 ..... 0.643778 |============ Btrfs .... 3.023470 |========================================================== F2FS ..... 0.336778 |====== XFS ...... 0.661778 |============= Application Start-up Time 3.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: LibreOffice Writer - Disk Target: Default Test Directory sec < Lower Is Better Bcachefs . 0.486667 |=============== EXT4 ..... 0.531778 |================ Btrfs .... 1.932340 |========================================================== F2FS ..... 0.281556 |======== XFS ...... 0.573444 |================= SQLite 3.41.2 Threads / Copies: 1 Seconds < Lower Is Better Bcachefs . 12.828 |============================================= EXT4 ..... 7.618 |=========================== Btrfs .... 17.235 |============================================================ F2FS ..... 9.331 |================================ XFS ...... 7.704 |=========================== SQLite 3.41.2 Threads / Copies: 2 Seconds < Lower Is Better Bcachefs . 18.96 |=========================================== EXT4 ..... 10.50 |======================== Btrfs .... 27.01 |============================================================= F2FS ..... 11.00 |========================= XFS ...... 10.20 |======================= SQLite 3.41.2 Threads / Copies: 4 Seconds < Lower Is Better Bcachefs . 21.93 |================================================= EXT4 ..... 13.28 |============================= Btrfs .... 27.57 |============================================================= F2FS ..... 16.95 |====================================== XFS ...... 12.62 |============================ SQLite 3.41.2 Threads / Copies: 8 Seconds < Lower Is Better Bcachefs . 24.29 |================================================= EXT4 ..... 18.73 |====================================== Btrfs .... 30.01 |============================================================= F2FS ..... 18.01 |===================================== XFS ...... 24.11 |================================================= Flexible IO Tester 3.35 Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 1 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 76162 |============ EXT4 ..... 370746 |=========================================================== Btrfs .... 252620 |======================================== F2FS ..... 376889 |============================================================ XFS ...... 375420 |============================================================ Flexible IO Tester 3.35 Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory MiB/s > Higher Is Better Bcachefs . 303113.71 |========================================================= EXT4 ..... 4172.53 |= Btrfs .... 3162.16 |= F2FS ..... 4164.19 |= XFS ...... 4140.32 |= Flexible IO Tester 3.35 Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 75778 |==== EXT4 ..... 1068167 |=========================================================== Btrfs .... 809513 |============================================= F2FS ..... 1066032 |=========================================================== XFS ...... 1059922 |=========================================================== Flexible IO Tester 3.35 Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 1 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 37350 |======= EXT4 ..... 288027 |========================================================== Btrfs .... 77760 |================ F2FS ..... 268557 |====================================================== XFS ...... 299163 |============================================================ Flexible IO Tester 3.35 Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 40023 |== EXT4 ..... 1347006 |======================================================== Btrfs .... 79572 |=== F2FS ..... 362984 |=============== XFS ...... 1407945 |=========================================================== Flexible IO Tester 3.35 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory MiB/s > Higher Is Better Bcachefs . 4853.74 |============================================== EXT4 ..... 6112.06 |========================================================= Btrfs .... 6184.31 |========================================================== F2FS ..... 6290.37 |=========================================================== XFS ...... 6165.18 |========================================================== Flexible IO Tester 3.35 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 2427 |================================================ EXT4 ..... 3056 |============================================================ Btrfs .... 3092 |============================================================= F2FS ..... 3145 |============================================================== XFS ...... 3083 |============================================================= Flexible IO Tester 3.35 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 8 - Disk Target: Default Test Directory MiB/s > Higher Is Better Bcachefs . 4901.28 |============================================== EXT4 ..... 6252.59 |=========================================================== Btrfs .... 6065.98 |========================================================= F2FS ..... 6296.22 |=========================================================== XFS ...... 6237.25 |========================================================== Flexible IO Tester 3.35 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 2451 |================================================ EXT4 ..... 3126 |============================================================== Btrfs .... 3033 |============================================================ F2FS ..... 3148 |============================================================== XFS ...... 3118 |============================================================= Flexible IO Tester 3.35 Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory MiB/s > Higher Is Better Bcachefs . 2461.63 |========================== EXT4 ..... 5559.45 |========================================================== Btrfs .... 4728.95 |================================================== F2FS ..... 5615.77 |=========================================================== XFS ...... 5547.53 |========================================================== Flexible IO Tester 3.35 Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 1231 |=========================== EXT4 ..... 2780 |============================================================= Btrfs .... 2364 |==================================================== F2FS ..... 2808 |============================================================== XFS ...... 2774 |============================================================= Flexible IO Tester 3.35 Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 8 - Disk Target: Default Test Directory MiB/s > Higher Is Better Bcachefs . 1263.51 |============= EXT4 ..... 5582.58 |=========================================================== Btrfs .... 4781.96 |=================================================== F2FS ..... 5552.93 |=========================================================== XFS ...... 5499.91 |========================================================== Flexible IO Tester 3.35 Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 8 - Disk Target: Default Test Directory IOPS > Higher Is Better Bcachefs . 632 |============== EXT4 ..... 2791 |============================================================== Btrfs .... 2391 |===================================================== F2FS ..... 2776 |============================================================== XFS ...... 2750 |============================================================= FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better Bcachefs . 199.3 |========== EXT4 ..... 748.9 |======================================= Btrfs .... 650.0 |================================== F2FS ..... 790.3 |========================================= XFS ...... 1151.8 |============================================================ FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better Bcachefs . 651.6 |================= EXT4 ..... 981.6 |========================== Btrfs .... 1993.6 |===================================================== F2FS ..... 2258.2 |============================================================ XFS ...... 1513.4 |======================================== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better Bcachefs . 201.7 |================== EXT4 ..... 447.3 |======================================== Btrfs .... 677.8 |============================================================= F2FS ..... 641.1 |========================================================== XFS ...... 235.2 |===================== ClickHouse 22.12.3.5 100M Rows Hits Dataset, First Run / Cold Cache Queries Per Minute, Geo Mean > Higher Is Better Bcachefs . 212.92 |===================================================== EXT4 ..... 239.03 |============================================================ Btrfs .... 236.45 |=========================================================== F2FS ..... 237.60 |=========================================================== XFS ...... 240.47 |============================================================ ClickHouse 22.12.3.5 100M Rows Hits Dataset, Second Run Queries Per Minute, Geo Mean > Higher Is Better Bcachefs . 247.05 |======================================================= EXT4 ..... 267.34 |=========================================================== Btrfs .... 266.61 |=========================================================== F2FS ..... 264.44 |=========================================================== XFS ...... 270.38 |============================================================ ClickHouse 22.12.3.5 100M Rows Hits Dataset, Third Run Queries Per Minute, Geo Mean > Higher Is Better Bcachefs . 246.20 |====================================================== EXT4 ..... 266.49 |========================================================== Btrfs .... 270.80 |=========================================================== F2FS ..... 268.57 |=========================================================== XFS ...... 273.77 |============================================================ Apache IoTDB 1.2 Device Count: 800 - Batch Size Per Write: 100 - Sensor Count: 500 - Client Number: 400 point/sec > Higher Is Better Bcachefs . 66327842 |======================================================= EXT4 ..... 66828851 |======================================================= Btrfs .... 68886304 |========================================================= F2FS ..... 70210625 |========================================================== XFS ...... 70190661 |========================================================== Apache IoTDB 1.2 Device Count: 800 - Batch Size Per Write: 100 - Sensor Count: 500 - Client Number: 400 Average Latency < Lower Is Better Bcachefs . 268.00 |=========================================================== EXT4 ..... 270.70 |============================================================ Btrfs .... 264.66 |=========================================================== F2FS ..... 255.63 |========================================================= XFS ...... 258.41 |========================================================= DuckDB 0.9.1 Benchmark: TPC-H Parquet Seconds < Lower Is Better Bcachefs . 97.49 |============================================================ EXT4 ..... 94.60 |========================================================== Btrfs .... 95.90 |=========================================================== F2FS ..... 98.79 |============================================================= XFS ...... 93.11 |========================================================= PostgreSQL 16 Scaling Factor: 1000 - Clients: 800 - Mode: Read Write TPS > Higher Is Better Bcachefs . 7562 |=========== EXT4 ..... 19631 |=========================== Btrfs .... 31551 |============================================ F2FS ..... 27856 |======================================= XFS ...... 43749 |============================================================= PostgreSQL 16 Scaling Factor: 1000 - Clients: 800 - Mode: Read Write - Average Latency ms < Lower Is Better Bcachefs . 108.20 |============================================================ EXT4 ..... 41.14 |======================= Btrfs .... 25.37 |============== F2FS ..... 28.73 |================ XFS ...... 18.29 |========== nginx 1.23.2 Connections: 500 Requests Per Second > Higher Is Better Bcachefs . 173189.61 |======================================================== EXT4 ..... 176467.11 |========================================================= Btrfs .... 164208.09 |===================================================== F2FS ..... 174634.94 |======================================================== XFS ...... 177367.24 |========================================================= Flexible IO Tester 3.35 Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 8 - Disk Target: Default Test Directory MiB/s > Higher Is Better XFS . 5499.78 |================================================================