Bcachefs file-system benchmarks by Michael Larabel for a future article.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 2311274-NE-SSDSTORAG18 Bcachefs File-System Benchmarks - Phoronix Test Suite Bcachefs File-System Benchmarks Bcachefs file-system benchmarks by Michael Larabel for a future article.
HTML result view exported from: https://openbenchmarking.org/result/2311274-NE-SSDSTORAG18&grt&rdt .
Bcachefs File-System Benchmarks Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server OpenGL Compiler File-System Screen Resolution Bcachefs Btrfs EXT4 XFS F2FS AMD Ryzen Threadripper 7980X 64-Cores @ 8.21GHz (64 Cores / 128 Threads) ASUS Pro WS TRX50-SAGE WIFI (0217 BIOS) AMD Device 14a4 128GB 2000GB Corsair MP700 PRO + 1000GB Western Digital WDS100T1X0E-00AFY0 AMD Radeon RX 7900 XT 20GB (2025/1249MHz) Realtek ALC1220 DELL U2723QE Aquantia Device 04c0 + Intel I226-LM + MEDIATEK MT7922 802.11ax PCI Ubuntu 23.10 6.7.0-060700rc2daily20231126-generic (x86_64) GNOME Shell 45.0 X Server 1.21.1.7 + Wayland 4.6 Mesa 23.2.1-1ubuntu3 (LLVM 15.0.7 DRM 3.56) GCC 13.2.0 BcacheFS 3840x2160 btrfs ext4 xfs f2fs OpenBenchmarking.org Kernel Details - Transparent Huge Pages: madvise Compiler Details - --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-bootstrap --enable-cet --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --enable-libphobos-checking=release --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-link-serialization=2 --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-defaulted --enable-offload-targets=nvptx-none=/build/gcc-13-XYspKM/gcc-13-13.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-XYspKM/gcc-13-13.2.0/debian/tmp-gcn/usr --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-build-config=bootstrap-lto-lean --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v Disk Details - Bcachefs: NONE / fix_errors=yes,nojournal_transaction_names,relatime,rw / Block Size: 512 - Btrfs: NONE / discard=async,relatime,rw,space_cache=v2,ssd,subvol=/,subvolid=5 / Block Size: 4096 - EXT4: NONE / relatime,rw / Block Size: 4096 - XFS: NONE / attr2,inode64,logbsize=32k,logbufs=8,noquota,relatime,rw / Block Size: 4096 - F2FS: NONE / acl,active_logs=6,alloc_mode=default,background_gc=on,barrier,checkpoint_merge,discard,discard_unit=block,errors=continue,extent_cache,flush_merge,fsync_mode=posix,inline_data,inline_dentry,inline_xattr,lazytime,memory=normal,mode=adaptive,no_heap,nogc_merge,relatime,rw,user_xattr / Block Size: 4096 Processor Details - Scaling Governor: amd-pstate-epp powersave (EPP: balance_performance) - CPU Microcode: 0xa108105 Security Details - gather_data_sampling: Not affected + itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + mmio_stale_data: Not affected + retbleed: Not affected + spec_rstack_overflow: Mitigation of Safe RET + spec_store_bypass: Mitigation of SSB disabled via prctl + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Enhanced / Automatic IBRS IBPB: conditional STIBP: always-on RSB filling PBRSB-eIBRS: Not affected + srbds: Not affected + tsx_async_abort: Not affected
Bcachefs File-System Benchmarks cockroach: KV, 50% Reads - 128 dbench: 12 fio: Rand Read - IO_uring - No - Yes - 4KB - 32 - Default Test Directory fio: Rand Write - IO_uring - No - Yes - 4KB - 1 - Default Test Directory fio: Seq Read - IO_uring - No - Yes - 2MB - 1 - Default Test Directory fio: Seq Read - IO_uring - No - Yes - 2MB - 32 - Default Test Directory fio: Seq Write - IO_uring - No - Yes - 2MB - 1 - Default Test Directory pgbench: 1000 - 1000 - Read Write pgbench: 1000 - 1000 - Read Write - Average Latency sqlite: 2 sqlite: 4 sqlite: 8 sqlite: 16 Bcachefs Btrfs EXT4 XFS F2FS 48184.1 747.406 158110 6820 10331.16 10111.73 1779.41 6558 157.701 51.593 52.812 57.214 66.873 45262.3 1582.94 492566 75211 11396.02 10720.09 4929.78 30287 33.040 69.931 71.199 73.379 78.224 70152.8 1611.99 1573677 221819 11448.21 10798.65 1631.19 32701 31.020 44.149 66.356 95.298 150.241 70505.5 808.244 1565720 223247 11483.75 10883.31 11010.69 51381 19.976 34.059 52.835 87.274 154.650 84252.6 2039.79 1568767 221728 11387.50 10432.69 10995.64 27488 36.535 41.217 57.772 84.342 104.875 OpenBenchmarking.org
CockroachDB Workload: KV, 50% Reads - Concurrency: 128 OpenBenchmarking.org ops/s, More Is Better CockroachDB 22.2 Workload: KV, 50% Reads - Concurrency: 128 Bcachefs Btrfs EXT4 XFS F2FS 20K 40K 60K 80K 100K SE +/- 2640.04, N = 12 SE +/- 198.41, N = 3 SE +/- 267.13, N = 3 SE +/- 177.77, N = 3 SE +/- 173.63, N = 3 48184.1 45262.3 70152.8 70505.5 84252.6
Dbench Client Count: 12 OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 12 Bcachefs Btrfs EXT4 XFS F2FS 400 800 1200 1600 2000 SE +/- 16.80, N = 9 SE +/- 9.48, N = 3 SE +/- 18.01, N = 9 SE +/- 0.63, N = 3 SE +/- 1.03, N = 3 747.41 1582.94 1611.99 808.24 2039.79 1. (CC) gcc options: -lpopt -O2
Flexible IO Tester Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 32 - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.35 Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 32 - Disk Target: Default Test Directory Bcachefs Btrfs EXT4 XFS F2FS 300K 600K 900K 1200K 1500K SE +/- 1208.88, N = 3 SE +/- 3682.01, N = 3 SE +/- 912.07, N = 3 SE +/- 3432.72, N = 3 SE +/- 3142.11, N = 3 158110 492566 1573677 1565720 1568767 MIN: 487738.18 / MAX: 499795.26 MIN: 1571879.93 / MAX: 1574845.88 MIN: 1559531.51 / MAX: 1571388.76 MIN: 1563469.75 / MAX: 1574343.53 1. (CC) gcc options: -rdynamic -ltcmalloc -ll -lnuma -lz -lm -laio -lpthread -ldl -lcurl -lssl -lcrypto -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Job Count: 1 - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better 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 Bcachefs Btrfs EXT4 XFS F2FS 50K 100K 150K 200K 250K SE +/- 66.80, N = 15 SE +/- 220.39, N = 3 SE +/- 934.79, N = 3 SE +/- 1470.61, N = 3 SE +/- 2479.24, N = 3 6820 75211 221819 223247 221728 MIN: 74826.59 / MAX: 75589.96 MIN: 220427.04 / MAX: 223595.96 MIN: 221503.62 / MAX: 226169.77 MIN: 217209.02 / MAX: 225754.9 1. (CC) gcc options: -rdynamic -ltcmalloc -ll -lnuma -lz -lm -laio -lpthread -ldl -lcurl -lssl -lcrypto -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory OpenBenchmarking.org MiB/s, More Is Better 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 Bcachefs Btrfs EXT4 XFS F2FS 2K 4K 6K 8K 10K SE +/- 76.79, N = 3 SE +/- 2.04, N = 3 SE +/- 5.93, N = 3 SE +/- 3.31, N = 3 SE +/- 8.08, N = 3 10331.16 11396.02 11448.21 11483.75 11387.50 MIN: 10187.06 / MAX: 10449.23 MIN: 11393.15 / MAX: 11399.97 MIN: 11439.15 / MAX: 11459.36 MIN: 11477.88 / MAX: 11489.35 MIN: 11373.02 / MAX: 11400.95 1. (CC) gcc options: -rdynamic -ltcmalloc -ll -lnuma -lz -lm -laio -lpthread -ldl -lcurl -lssl -lcrypto -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 32 - Disk Target: Default Test Directory OpenBenchmarking.org MiB/s, More Is Better Flexible IO Tester 3.35 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 32 - Disk Target: Default Test Directory Bcachefs Btrfs EXT4 XFS F2FS 2K 4K 6K 8K 10K SE +/- 53.06, N = 3 SE +/- 44.48, N = 3 SE +/- 58.12, N = 3 SE +/- 64.98, N = 3 SE +/- 91.69, N = 8 10111.73 10720.09 10798.65 10883.31 10432.69 MIN: 10037.07 / MAX: 10214.38 MIN: 10631.46 / MAX: 10770.97 MIN: 10696.74 / MAX: 10898.04 MIN: 10754.18 / MAX: 10960.58 MIN: 10119.85 / MAX: 10855.14 1. (CC) gcc options: -rdynamic -ltcmalloc -ll -lnuma -lz -lm -laio -lpthread -ldl -lcurl -lssl -lcrypto -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
Flexible IO Tester Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Job Count: 1 - Disk Target: Default Test Directory OpenBenchmarking.org MiB/s, More Is Better 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 Bcachefs Btrfs EXT4 XFS F2FS 2K 4K 6K 8K 10K SE +/- 100.08, N = 15 SE +/- 44.22, N = 3 SE +/- 60.81, N = 3 SE +/- 5.97, N = 3 SE +/- 3.58, N = 3 1779.41 4929.78 1631.19 11010.69 10995.64 MIN: 1385.17 / MAX: 3033.5 MIN: 4841.36 / MAX: 4975.3 MIN: 1043.13 / MAX: 925220.58 MIN: 10999 / MAX: 11018.62 MIN: 10989.72 / MAX: 11002.08 1. (CC) gcc options: -rdynamic -ltcmalloc -ll -lnuma -lz -lm -laio -lpthread -ldl -lcurl -lssl -lcrypto -std=gnu99 -ffast-math -include -O3 -fcommon -march=native
PostgreSQL Scaling Factor: 1000 - Clients: 1000 - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL 16 Scaling Factor: 1000 - Clients: 1000 - Mode: Read Write Bcachefs Btrfs EXT4 XFS F2FS 11K 22K 33K 44K 55K SE +/- 393.97, N = 12 SE +/- 231.44, N = 12 SE +/- 1417.85, N = 9 SE +/- 3124.70, N = 9 SE +/- 570.95, N = 12 6558 30287 32701 51381 27488 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lm
PostgreSQL Scaling Factor: 1000 - Clients: 1000 - Mode: Read Write - Average Latency OpenBenchmarking.org ms, Fewer Is Better PostgreSQL 16 Scaling Factor: 1000 - Clients: 1000 - Mode: Read Write - Average Latency Bcachefs Btrfs EXT4 XFS F2FS 30 60 90 120 150 SE +/- 7.94, N = 12 SE +/- 0.26, N = 12 SE +/- 1.27, N = 9 SE +/- 1.06, N = 9 SE +/- 0.68, N = 12 157.70 33.04 31.02 19.98 36.54 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lm
SQLite Threads / Copies: 2 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 2 Bcachefs Btrfs EXT4 XFS F2FS 16 32 48 64 80 SE +/- 0.53, N = 3 SE +/- 0.40, N = 3 SE +/- 1.23, N = 12 SE +/- 0.27, N = 3 SE +/- 0.47, N = 3 51.59 69.93 44.15 34.06 41.22 1. (CC) gcc options: -O2 -lreadline -ltermcap -lz -lm
SQLite Threads / Copies: 4 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 4 Bcachefs Btrfs EXT4 XFS F2FS 16 32 48 64 80 SE +/- 0.33, N = 3 SE +/- 0.16, N = 3 SE +/- 0.60, N = 3 SE +/- 0.17, N = 3 SE +/- 0.66, N = 3 52.81 71.20 66.36 52.84 57.77 1. (CC) gcc options: -O2 -lreadline -ltermcap -lz -lm
SQLite Threads / Copies: 8 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 8 Bcachefs Btrfs EXT4 XFS F2FS 20 40 60 80 100 SE +/- 0.51, N = 3 SE +/- 0.30, N = 3 SE +/- 0.06, N = 3 SE +/- 0.25, N = 3 SE +/- 0.67, N = 9 57.21 73.38 95.30 87.27 84.34 1. (CC) gcc options: -O2 -lreadline -ltermcap -lz -lm
SQLite Threads / Copies: 16 OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.41.2 Threads / Copies: 16 Bcachefs Btrfs EXT4 XFS F2FS 30 60 90 120 150 SE +/- 0.12, N = 3 SE +/- 0.89, N = 4 SE +/- 0.30, N = 3 SE +/- 0.38, N = 3 SE +/- 1.37, N = 3 66.87 78.22 150.24 154.65 104.88 1. (CC) gcc options: -O2 -lreadline -ltermcap -lz -lm
Phoronix Test Suite v10.8.4