Linux 3.18 Kernel File-System Testing

EXT4, F2FS, XFS, and Btrfs file-system benchmarks on Linux 3.17 and Linux 3.18 Git kernels. Benchmarks by Michael Larabel for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1411072-LI-LINUX318F45&gru&sor.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.17Linux 3.18 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FSIntel Core i7-5960X @ 4.00GHz (16 Cores)Gigabyte X99-UD4-CFIntel Xeon E5 v3/Core16384MB128GB Crucial_CT128MX1 + 240GB OCZ VERTEX3XFX AMD Radeon HD 7950/8950 OEM / R9 280 3072MBIntel C610/X99SyncMasterIntel ConnectionUbuntu 14.103.17.0-031700-generic (x86_64)Unity 7.3.1X Server 1.16.0radeon 7.4.03.3 Mesa 10.3.0 Gallium 0.4GCC 4.9.1ext42560x1600btrfsxfsf2fs3.18.0-999-generic (x86_64)ext4btrfsxfsf2fsOpenBenchmarking.orgCompiler Details- --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,c++,java,go,d,fortran,objc,obj-c++ --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-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- Linux 3.17: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.17: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.17: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.17: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattrProcessor Details- Scaling Governor: intel_pstate powersaveSystem Details- Linux 3.17: EXT4: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: Btrfs: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: XFS: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: F2FS: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.18 Git: EXT4: Python 2.7.8.- Linux 3.18 Git: Btrfs: Python 2.7.8.- Linux 3.18 Git: XFS: Python 2.7.8.- Linux 3.18 Git: F2FS: Python 2.7.8.Disk Mount Options Details- Linux 3.18 Git: EXT4: data=ordered,relatime,rw- Linux 3.18 Git: Btrfs: relatime,rw,space_cache,ssd- Linux 3.18 Git: XFS: attr2,inode64,noquota,relatime,rw- Linux 3.18 Git: F2FS: acl,active_logs=6,background_gc=on,relatime,rw,user_xattr

fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefio: Rand Read - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Rand Write - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Seq Read - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Seq Write - POSIX AIO - No - 16KB - Default Test Directory - MB/scompilebench: Initial Createpostmark: Disk Transaction PerformanceLinux 3.17Linux 3.18 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FS210.10358.83209.30105.14160.45103.35193.62317.644968219.53392.87214.8381.30160.5680.10188.39173.645173211.87355.37210.37100.60161.16102.51216.22248.695176255.87408.13257.77101.63156.19103.75200.82357.936049209.57359.33209.6398.65157.2598.94164.04308.475176217.65391.57215.9066.89162.9478.31181.29173.765210212.03354.00210.2395.92153.5896.94195.66268.245478250.57409.37254.9095.55156.5498.71179.21366.766049OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeF2FSBtrfsXFSEXT460120180240300SE +/- 0.12, N = 3SE +/- 0.74, N = 3SE +/- 0.35, N = 3SE +/- 0.59, N = 3SE +/- 0.52, N = 3SE +/- 3.44, N = 4SE +/- 0.41, N = 3SE +/- 0.28, N = 3255.87219.53211.87210.10250.57217.65212.03209.571. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsF2FSBtrfsEXT4XFS90180270360450SE +/- 0.78, N = 3SE +/- 0.26, N = 3SE +/- 0.27, N = 3SE +/- 0.95, N = 3SE +/- 0.48, N = 3SE +/- 0.24, N = 3SE +/- 0.38, N = 3SE +/- 0.17, N = 3409.37391.57359.33354.00408.13392.87358.83355.371. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeF2FSBtrfsXFSEXT460120180240300SE +/- 0.44, N = 3SE +/- 1.11, N = 3SE +/- 0.34, N = 3SE +/- 0.71, N = 3SE +/- 0.51, N = 3SE +/- 0.47, N = 3SE +/- 0.26, N = 3SE +/- 0.48, N = 3257.77214.83210.37209.30254.90215.90210.23209.631. (CC) gcc options: -static

Flexible IO Tester

Type: Random Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sEXT4F2FSXFSBtrfs20406080100SE +/- 0.10, N = 3SE +/- 0.03, N = 3SE +/- 0.80, N = 3SE +/- 0.11, N = 3SE +/- 0.05, N = 3SE +/- 0.16, N = 3SE +/- 0.19, N = 3SE +/- 1.41, N = 6105.14101.63100.6081.3098.6595.9295.5566.891. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sBtrfsXFSEXT4F2FS4080120160200SE +/- 5.95, N = 6SE +/- 0.43, N = 3SE +/- 1.43, N = 3SE +/- 9.40, N = 6SE +/- 6.60, N = 6SE +/- 4.26, N = 6SE +/- 10.55, N = 6SE +/- 3.64, N = 6162.94157.25156.54153.58161.16160.56160.45156.191. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sF2FSEXT4XFSBtrfs20406080100SE +/- 0.04, N = 3SE +/- 0.09, N = 3SE +/- 0.49, N = 3SE +/- 0.81, N = 3SE +/- 0.09, N = 3SE +/- 0.14, N = 3SE +/- 0.23, N = 3SE +/- 0.20, N = 3103.75103.35102.5180.1098.9498.7196.9478.311. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sXFSF2FSEXT4Btrfs50100150200250SE +/- 2.10, N = 3SE +/- 5.76, N = 6SE +/- 8.15, N = 6SE +/- 0.19, N = 3SE +/- 10.96, N = 6SE +/- 0.98, N = 3SE +/- 9.73, N = 6SE +/- 5.76, N = 6216.22200.82193.62188.39195.66181.29179.21164.041. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Compile Bench

Test: Initial Create

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateF2FSEXT4XFSBtrfs80160240320400SE +/- 7.62, N = 6SE +/- 6.17, N = 3SE +/- 3.93, N = 3SE +/- 1.00, N = 3SE +/- 16.39, N = 6SE +/- 4.74, N = 5SE +/- 0.46, N = 3SE +/- 2.62, N = 3366.76308.47268.24173.76357.93317.64248.69173.64

PostMark

Disk Transaction Performance

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceF2FSXFSBtrfsEXT413002600390052006500SE +/- 48.33, N = 3SE +/- 106.79, N = 3SE +/- 62.65, N = 3SE +/- 93.50, N = 3SE +/- 48.33, N = 3SE +/- 93.50, N = 3SE +/- 35.33, N = 3SE +/- 67.00, N = 3604954785210517660495176517349681. (CC) gcc options: -O3


Phoronix Test Suite v10.8.4