BSDs vs. Linux File-System Performance Benchmarks

Tests for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1804184-AR-FILEPERF822&obr_sor=y&obr_rro=y&obr_ncb=y.

BSDs vs. Linux File-System Performance BenchmarksProcessorMotherboardChipsetMemoryDiskNetworkGraphicsAudioMonitorOSKernelCompilerFile-SystemDesktopDisplay ServerOpenGLScreen ResolutionDisplay DriverVulkanDragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER2TrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 16.04 - EXT4Ubuntu 18.04 - EXT4Clear Linux - EXT4Intel Xeon E3-1280 v5 @ 3.70GHz (4 Cores / 8 Threads)MSI MS-7998 1.0Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Registers16384MBNVME-PCIeIntel PRO/1000 Connection PCH_SPT_I219_V2 7.6.2DragonFly5.2-RELEASE (x86_64)GCC 5.4.1hammerhammer2Intel Xeon E3-1280 v5 @ 3.70GHz (8 Cores)Generic NVMe Devicellvmpipe 16384MBATI (0xaaf0) HDAIntel PRO/1000 ConnectionFreeBSD12.0-CURRENT (x86_64)Lumina 1.4.2X Server 1.18.43.3 Mesa 17.3.1 (LLVM 5.0 256 bits)Clang 6.0.0 (SVN 324090)zfs1024x768Intel PRO/1000 Connection 7.6.1-k11.1-STABLE (x86_64)Clang 6.0.0 (SVN 326565)Intel Xeon E3-1280 v5 @ 4.00GHz (4 Cores / 8 Threads)MSI Z170A SLI PLUS (MS-7998) v1.0 (2.90 BIOS)Intel Sky Lake256GB TOSHIBA-RD400Sapphire AMD Radeon 4096MBRealtek ALC1150Acer B286HKIntel ConnectionUbuntu 16.044.13.0-38-generic (x86_64)Unity 7.4.5modesetting 1.19.54.5 Mesa 17.2.8 (LLVM 5.0.0)GCC 5.4.0 20160609ext43840x2160Intel SkylakeSapphire AMD Radeon RX 470/480 4096MBUbuntu 18.044.15.0-15-generic (x86_64)GNOME Shell 3.28.0modesetting 1.19.64.5 Mesa 18.0.0-rc5 (LLVM 6.0.0)GCC 7.3.0Intel Xeon E3-1200 v5/E3-15002 x 8192 MB DDR4-2133MT/sSapphire AMD Radeon 4096MBClear Linux OS 219504.16.2-550.native (x86_64)X Server 1.19.64.5 Mesa 18.1.0-devel (LLVM 6.0.0)1.0.39GCC 7.3.0 + Clang 6.0.0 + LLVM 6.0.0OpenBenchmarking.orgPython Details- DragonFlyBSD 5.2 - HAMMER: Python 2.7.14 + Python 3.6.5- DragonFlyBSD 5.2 - HAMMER2: Python 2.7.14 + Python 3.6.5- TrueOS - ZFS: Python 2.7.14 + Python 3.6.4- FreeBSD 11.1 - ZFS: Python 2.7.14 + Python 3.6.5- Ubuntu 16.04 - EXT4: Python 2.7.12 + Python 3.5.2- Ubuntu 18.04 - EXT4: Python 2.7.15rc1 + Python 3.6.5- Clear Linux - EXT4: Python 3.6.5Security Details- DragonFlyBSD 5.2 - HAMMER: Meltdown Mitigation Protection- DragonFlyBSD 5.2 - HAMMER2: Meltdown Mitigation Protection- TrueOS - ZFS: KPTI Protection- FreeBSD 11.1 - ZFS: KPTI Protection- Ubuntu 16.04 - EXT4: KPTI + OSB (observable speculation barrier Intel v6) + Full generic retpoline Protection- Ubuntu 18.04 - EXT4: KPTI + __user pointer sanitization + Full generic retpoline Protection- Clear Linux - EXT4: KPTI + __user pointer sanitization + Full generic retpoline ProtectionCompiler Details- Ubuntu 16.04 - EXT4: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v - Ubuntu 18.04 - EXT4: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --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-as=/usr/bin/x86_64-linux-gnu-as --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-ld=/usr/bin/x86_64-linux-gnu-ld --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v - Clear Linux - EXT4: --build=x86_64-generic-linux --disable-libmpx --disable-libunwind-exceptions --disable-multiarch --disable-vtable-verify --enable-__cxa_atexit --enable-bootstrap --enable-clocale=gnu --enable-gnu-indirect-function --enable-languages=c,c++,fortran,go --enable-ld=default --enable-libstdcxx-pch --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --exec-prefix=/usr --includedir=/usr/include --target=x86_64-generic-linux --with-arch=westmere --with-glibc-version=2.19 --with-gnu-ld --with-isl --with-ppl=yes --with-tune=haswell Disk Details- Ubuntu 16.04 - EXT4: NONE / data=ordered,errors=remount-ro,relatime,rw- Ubuntu 18.04 - EXT4: NONE / data=ordered,errors=remount-ro,relatime,rw- Clear Linux - EXT4: MQ-DEADLINE / data=ordered,relatime,rw,stripe=256Processor Details- Ubuntu 16.04 - EXT4: Scaling Governor: intel_pstate powersave- Ubuntu 18.04 - EXT4: Scaling Governor: intel_pstate powersave- Clear Linux - EXT4: Scaling Governor: intel_pstate performanceEnvironment Details- Clear Linux - EXT4: CFFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize-Wl-sort-common-Wl--enable-new-dtags MESA_GLSL_CACHE_DISABLE=0 CFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common-Wl--enable-new-dtags CXXFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wformat-Wformat-security-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-fno-semantic-interposition-ffat-lto-objects-fno-signed-zeros-fno-trapping-math-fassociative-math-Wl-sort-common-Wl--enable-new-dtags-fvisibility-inlines-hidden-Wl--enable-new-dtags FFLAGS=-g-O3-feliminate-unused-debug-types-pipe-Wall-Wp-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=32-Wl--copy-dt-needed-entries-m64-fasynchronous-unwind-tables-Wp-D_REENTRANT-ftree-loop-distribute-patterns-Wl-z-Wl now-Wl-z-Wl relro-malign-data=abi-fno-semantic-interposition-ftree-vectorize-ftree-loop-vectorize-Wl--enable-new-dtags THEANO_FLAGS=floatX=float32 openmp=true gcc.cxxflags="-ftree-vectorize-mavx"

BSDs vs. Linux File-System Performance Benchmarkssqlite: Timed SQLite Insertionsdbench: 6compilebench: Compilecompilebench: Initial Createpostmark: Disk Transaction Performancepgbench: Buffer Test - Normal Load - Read Writegit: Time To Complete Common Git Commandsosbench: Create FilesDragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER2TrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 16.04 - EXT4Ubuntu 18.04 - EXT4Clear Linux - EXT433.12813.12143.72193.6219544490.208.9833.106.68969.32754.8183.4330307106.239.20129.2063.90218.612036.94246.1032472307.018.3442.1052.60219.092445.20263.1644912348.487.3938.3677.06244.741631.32499.1066973249.635.2265.521555.13524.7465813575.945.5113.5960.832300.66628.9471424250.255.36OpenBenchmarking.org

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsUbuntu 16.04 - EXT4Ubuntu 18.04 - EXT4TrueOS - ZFSClear Linux - EXT4FreeBSD 11.1 - ZFSDragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER220406080100SE +/- 5.24, N = 6SE +/- 0.39, N = 3SE +/- 0.27, N = 3SE +/- 0.30, N = 3SE +/- 0.07, N = 3SE +/- 0.73, N = 6SE +/- 0.12, N = 377.0665.5263.9060.8352.6033.126.68-O2 -ldl-O2 -ldl-O2 -lz-O3 -pipe -fexceptions -fstack-protector -m64 -ffat-lto-objects -fno-signed-zeros -fno-trapping-math -fassociative-math -lz -ldl-O2 -lz-O2 -lz1. (CC) gcc options: -lpthread

Dbench

Client Count: 6

OpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 6TrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 16.04 - EXT4DragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER22004006008001000SE +/- 0.42, N = 3SE +/- 0.33, N = 3SE +/- 0.07, N = 3SE +/- 6.35, N = 3SE +/- 21.07, N = 6218.61219.09244.74813.12969.32

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileDragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER2Ubuntu 18.04 - EXT4Ubuntu 16.04 - EXT4TrueOS - ZFSClear Linux - EXT4FreeBSD 11.1 - ZFS5001000150020002500SE +/- 2.46, N = 3SE +/- 16.08, N = 6SE +/- 12.38, N = 3SE +/- 11.27, N = 3SE +/- 139.50, N = 6SE +/- 31.91, N = 6SE +/- 24.47, N = 3143.72754.811555.131631.322036.942300.662445.20

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateDragonFlyBSD 5.2 - HAMMER2DragonFlyBSD 5.2 - HAMMERTrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 16.04 - EXT4Ubuntu 18.04 - EXT4Clear Linux - EXT4140280420560700SE +/- 2.46, N = 3SE +/- 11.11, N = 3SE +/- 0.14, N = 3SE +/- 0.49, N = 3SE +/- 8.13, N = 3SE +/- 6.44, N = 3SE +/- 19.89, N = 383.43193.62246.10263.16499.10524.74628.94

PostMark

Disk Transaction Performance

OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceDragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER2TrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 18.04 - EXT4Ubuntu 16.04 - EXT4Clear Linux - EXT415003000450060007500SE +/- 32.13, N = 4SE +/- 305.69, N = 6SE +/- 41.67, N = 3SE +/- 27.00, N = 3SE +/- 99.90, N = 3SE +/- 59.33, N = 31954303032474491658166977142gccgccclangclanggccgccgcc

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteTrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 16.04 - EXT4Ubuntu 18.04 - EXT4Clear Linux - EXT4DragonFlyBSD 5.2 - HAMMERDragonFlyBSD 5.2 - HAMMER215003000450060007500SE +/- 34.97, N = 4SE +/- 72.19, N = 6SE +/- 40.40, N = 3SE +/- 33.91, N = 3SE +/- 21.58, N = 3SE +/- 124.89, N = 6SE +/- 47.67, N = 32307.012348.483249.633575.944250.254490.207106.23

Git

Time To Complete Common Git Commands

OpenBenchmarking.orgSeconds, Fewer Is BetterGitTime To Complete Common Git CommandsDragonFlyBSD 5.2 - HAMMER2DragonFlyBSD 5.2 - HAMMERTrueOS - ZFSFreeBSD 11.1 - ZFSUbuntu 18.04 - EXT4Clear Linux - EXT4Ubuntu 16.04 - EXT43691215SE +/- 0.02, N = 3SE +/- 0.04, N = 3SE +/- 0.00, N = 3SE +/- 0.10, N = 3SE +/- 0.04, N = 3SE +/- 0.06, N = 3SE +/- 0.04, N = 39.208.988.347.395.515.365.221. DragonFlyBSD 5.2 - HAMMER2: git version 2.16.22. DragonFlyBSD 5.2 - HAMMER: git version 2.16.23. TrueOS - ZFS: git version 2.16.24. FreeBSD 11.1 - ZFS: git version 2.17.05. Ubuntu 18.04 - EXT4: git version 2.17.06. Clear Linux - EXT4: git version 2.17.07. Ubuntu 16.04 - EXT4: git version 2.7.4

OSBench

Test: Create Files

OpenBenchmarking.orgus Per Event, Fewer Is BetterOSBenchTest: Create FilesDragonFlyBSD 5.2 - HAMMER2TrueOS - ZFSFreeBSD 11.1 - ZFSDragonFlyBSD 5.2 - HAMMERUbuntu 18.04 - EXT4306090120150SE +/- 1.49, N = 3SE +/- 0.11, N = 3SE +/- 0.19, N = 3SE +/- 4.92, N = 6SE +/- 0.05, N = 3129.2042.1038.3633.1013.59


Phoronix Test Suite v10.8.4