Linux 3.11 Kernel File-System Benchmarks

Intel Core i7-4770K Haswell desktop benchmarks of the Linux 3.11 kernel with different file-systems. Linux performance file-system comparison of Btrfs, EXT4, XFS, and F2FS on an OCZ Vertex 3 SSD. Benchmarks for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1307199-SO-LINUX311K82&export=txt&gru&rdt&rro.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9 Btrfs Btrfs Btrfs EXT4 EXT4 EXT4 F2FS F2FS F2FS XFS XFS XFSIntel Core i7-4770K @ 3.50GHz (8 Cores)Intel DH87RLIntel 4th Gen Core DRAM15360MB240GB OCZ VERTEX3Intel Haswell DesktopRealtek ALC892Intel Connection I217-VUbuntu 13.103.11.0-999-generic (x86_64)Unity 7.0.2X Server 1.14.2intel 2.21.123.1 Mesa 9.2.0-devel (git-7fd30a8)GCC 4.8 + LLVM 3.3btrfs1920x1080Intel Haswell HDMI3.10.0-031000-generic (x86_64)3.9.0-030900-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)ext4Intel Haswell HDMI3.10.0-031000-generic (x86_64)3.9.0-030900-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)F2FSIntel Haswell HDMI3.10.0-031000-generic (x86_64)3.9.0-030900-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)xfsIntel Haswell HDMI3.10.0-031000-generic (x86_64)3.9.0-030900-generic (x86_64)OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --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-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-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- Linux 3.11: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.10: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.9: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.11: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.10: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.9: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.11: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattr- Linux 3.10: F2FS: DEADLINE / acl,active_logs=6,background_gc_on,relatime,rw,user_xattr- Linux 3.9: F2FS: DEADLINE / acl,active_logs=6,background_gc_on,relatime,rw,user_xattr- Linux 3.11: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.10: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.9: XFS: DEADLINE / attr2,inode64,noquota,relatime,rwProcessor Details- Linux 3.11: Btrfs: Scaling Governor: acpi-cpufreq ondemandSystem Details- Disk Scheduler: DEADLINE. Python 2.7.5+.

fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizedbench: 1iozone: 64Kb - 8GB - Read Performanceiozone: 64Kb - 8GB - Write Performancecompilebench: Compilecompilebench: Initial Createfio: Intel IOMeter File Server Access PatternLinux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9Linux 3.11Linux 3.10Linux 3.9 Btrfs Btrfs Btrfs EXT4 EXT4 EXT4 F2FS F2FS F2FS XFS XFS XFS247.52391.57229.47292.195998.34494.58406.92144.69163.33212.43389.93234.10295.066077.06494.62415.97137.66166.26296.50387.57290.23318.386159.77494.31411.55151.62164.85272.20395.73263.00310.625976.68489.41670.35203.3048.43282.40393.07275.40329.346080.80490.66692.21223.4048.82287.40390.53280.73373.726071.42488.17709.87241.0948.51361.13412.13358.53590.18383.27487.85612.93173.92115.65365.03336.37363.97551.244831.67490.68637.49209.77116.33388.67438.13386.201140.463362.91490.89713.15211.68108.32197.83374.53194.43354.375982.74490.30638.73153.76112.93209.00371.17195.83358.616166.15490.80652.25163.69112.79219.37379.27214.10379.436234.61490.99655.91176.50112.58OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeXFSF2FSEXT4Btrfs80160240320400SE +/- 14.24, N = 6SE +/- 3.68, N = 3SE +/- 1.97, N = 3SE +/- 2.78, N = 3SE +/- 7.36, N = 6SE +/- 0.89, N = 3SE +/- 2.78, N = 3SE +/- 8.49, N = 6SE +/- 5.22, N = 6SE +/- 0.75, N = 3SE +/- 0.85, N = 3SE +/- 14.07, N = 6219.37388.67287.40296.50209.00365.03282.40212.43197.83361.13272.20247.521. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsXFSF2FSEXT4Btrfs90180270360450SE +/- 0.91, N = 3SE +/- 0.62, N = 3SE +/- 1.39, N = 3SE +/- 1.24, N = 3SE +/- 4.33, N = 3SE +/- 32.70, N = 6SE +/- 0.48, N = 3SE +/- 0.64, N = 3SE +/- 0.33, N = 3SE +/- 1.88, N = 3SE +/- 0.35, N = 3SE +/- 0.93, N = 3379.27438.13390.53387.57371.17336.37393.07389.93374.53412.13395.73391.571. (CC) gcc options: -static

FS-Mark

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

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeXFSF2FSEXT4Btrfs80160240320400SE +/- 1.06, N = 3SE +/- 1.10, N = 3SE +/- 2.55, N = 3SE +/- 2.37, N = 3SE +/- 0.85, N = 3SE +/- 2.09, N = 3SE +/- 4.32, N = 3SE +/- 11.16, N = 6SE +/- 0.99, N = 3SE +/- 0.23, N = 3SE +/- 4.99, N = 3SE +/- 5.25, N = 6214.10386.20280.73290.23195.83363.97275.40234.10194.43358.53263.00229.471. (CC) gcc options: -static

Dbench

Client Count: 1

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 1XFSF2FSEXT4Btrfs2004006008001000SE +/- 1.21, N = 3SE +/- 3.72, N = 3SE +/- 0.42, N = 3SE +/- 0.55, N = 3SE +/- 0.17, N = 3SE +/- 2.57, N = 3SE +/- 0.52, N = 3SE +/- 0.69, N = 3SE +/- 1.92, N = 3SE +/- 0.71, N = 3SE +/- 0.29, N = 3SE +/- 0.42, N = 3379.431140.46373.72318.38358.61551.24329.34295.06354.37590.18310.62292.191. (CC) gcc options: -lpopt -O2

IOzone

Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Read PerformanceXFSF2FSEXT4Btrfs13002600390052006500SE +/- 81.90, N = 3SE +/- 583.25, N = 6SE +/- 47.52, N = 3SE +/- 68.06, N = 3SE +/- 20.85, N = 3SE +/- 875.88, N = 6SE +/- 97.23, N = 3SE +/- 47.83, N = 3SE +/- 14.81, N = 3SE +/- 2.21, N = 3SE +/- 12.13, N = 3SE +/- 23.16, N = 36234.613362.916071.426159.776166.154831.676080.806077.065982.74383.275976.685998.341. (CC) gcc options: -O3

IOzone

Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Write PerformanceXFSF2FSEXT4Btrfs110220330440550SE +/- 0.61, N = 3SE +/- 0.59, N = 3SE +/- 2.56, N = 3SE +/- 0.49, N = 3SE +/- 0.45, N = 3SE +/- 0.62, N = 3SE +/- 1.54, N = 3SE +/- 0.35, N = 3SE +/- 0.49, N = 3SE +/- 2.91, N = 3SE +/- 1.71, N = 3SE +/- 0.24, N = 3490.99490.89488.17494.31490.80490.68490.66494.62490.30487.85489.41494.581. (CC) gcc options: -O3

Compile Bench

Test: Compile

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileXFSF2FSEXT4Btrfs150300450600750SE +/- 1.80, N = 3SE +/- 16.52, N = 6SE +/- 11.67, N = 6SE +/- 1.86, N = 3SE +/- 1.87, N = 3SE +/- 8.35, N = 3SE +/- 12.95, N = 3SE +/- 2.67, N = 3SE +/- 4.58, N = 3SE +/- 7.79, N = 3SE +/- 5.30, N = 3SE +/- 0.23, N = 3655.91713.15709.87411.55652.25637.49692.21415.97638.73612.93670.35406.92

Compile Bench

Test: Initial Create

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateXFSF2FSEXT4Btrfs50100150200250SE +/- 1.75, N = 3SE +/- 3.08, N = 3SE +/- 2.93, N = 3SE +/- 0.76, N = 3SE +/- 4.18, N = 3SE +/- 0.64, N = 3SE +/- 4.48, N = 3SE +/- 0.27, N = 3SE +/- 1.06, N = 3SE +/- 1.62, N = 3SE +/- 2.68, N = 3SE +/- 0.50, N = 3176.50211.68241.09151.62163.69209.77223.40137.66153.76173.92203.30144.69

Flexible IO Tester

Test: Intel IOMeter File Server Access Pattern

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgSeconds (Run Time), Fewer Is BetterFlexible IO Tester 1.57Test: Intel IOMeter File Server Access PatternXFSF2FSEXT4Btrfs4080120160200SE +/- 0.87, N = 3SE +/- 0.21, N = 3SE +/- 0.54, N = 3SE +/- 1.02, N = 3SE +/- 1.50, N = 3SE +/- 2.92, N = 6SE +/- 0.47, N = 3SE +/- 0.97, N = 3SE +/- 1.72, N = 3SE +/- 2.09, N = 6SE +/- 0.43, N = 3SE +/- 1.40, N = 3112.58108.3248.51164.85112.79116.3348.82166.26112.93115.6548.43163.331. (CC) gcc options: -std=gnu99 -O2 -rdynamic -lm -lpthread -ldl -lrt -laio


Phoronix Test Suite v10.8.5