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.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11 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 DesktopIntel Haswell HDMIIntel Connection I217-VUbuntu 13.103.9.0-030900-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.3btrfs1920x10803.10.0-031000-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)Intel Haswell HDMI3.9.0-030900-generic (x86_64)ext43.10.0-031000-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)Intel Haswell HDMI3.9.0-030900-generic (x86_64)F2FS3.10.0-031000-generic (x86_64)Realtek ALC8923.11.0-999-generic (x86_64)Intel Haswell HDMI3.9.0-030900-generic (x86_64)xfs3.10.0-031000-generic (x86_64)Realtek ALC8923.11.0-999-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.9: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.10: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.11: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.9: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.10: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.11: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.9: 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.11: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattr- Linux 3.9: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.10: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.11: XFS: DEADLINE / attr2,inode64,noquota,relatime,rwSystem Details- Disk Scheduler: DEADLINE. Python 2.7.5+.Processor Details- Linux 3.11: Btrfs: Scaling Governor: acpi-cpufreq ondemand

fio: Intel IOMeter File Server Access Patternfs-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 CreateLinux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11Linux 3.9Linux 3.10Linux 3.11 Btrfs Btrfs Btrfs EXT4 EXT4 EXT4 F2FS F2FS F2FS XFS XFS XFS164.85296.50387.57290.23318.386159.77494.31411.55151.62166.26212.43389.93234.10295.066077.06494.62415.97137.66163.33247.52391.57229.47292.195998.34494.58406.92144.6948.51287.40390.53280.73373.726071.42488.17709.87241.0948.82282.40393.07275.40329.346080.80490.66692.21223.4048.43272.20395.73263.00310.625976.68489.41670.35203.30108.32388.67438.13386.201140.463362.91490.89713.15211.68116.33365.03336.37363.97551.244831.67490.68637.49209.77115.65361.13412.13358.53590.18383.27487.85612.93173.92112.58219.37379.27214.10379.436234.61490.99655.91176.50112.79209.00371.17195.83358.616166.15490.80652.25163.69112.93197.83374.53194.43354.375982.74490.30638.73153.76OpenBenchmarking.org

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 PatternBtrfsEXT4F2FSXFS4080120160200SE +/- 1.02, N = 3SE +/- 0.54, N = 3SE +/- 0.21, N = 3SE +/- 0.87, N = 3SE +/- 0.97, N = 3SE +/- 0.47, N = 3SE +/- 2.92, N = 6SE +/- 1.50, N = 3SE +/- 1.40, N = 3SE +/- 0.43, N = 3SE +/- 2.09, N = 6SE +/- 1.72, N = 3164.8548.51108.32112.58166.2648.82116.33112.79163.3348.43115.65112.931. (CC) gcc options: -std=gnu99 -O2 -rdynamic -lm -lpthread -ldl -lrt -laio

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 SizeBtrfsEXT4F2FSXFS80160240320400SE +/- 2.78, N = 3SE +/- 1.97, N = 3SE +/- 3.68, N = 3SE +/- 14.24, N = 6SE +/- 8.49, N = 6SE +/- 2.78, N = 3SE +/- 0.89, N = 3SE +/- 7.36, N = 6SE +/- 14.07, N = 6SE +/- 0.85, N = 3SE +/- 0.75, N = 3SE +/- 5.22, N = 6296.50287.40388.67219.37212.43282.40365.03209.00247.52272.20361.13197.831. (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 ThreadsBtrfsEXT4F2FSXFS90180270360450SE +/- 1.24, N = 3SE +/- 1.39, N = 3SE +/- 0.62, N = 3SE +/- 0.91, N = 3SE +/- 0.64, N = 3SE +/- 0.48, N = 3SE +/- 32.70, N = 6SE +/- 4.33, N = 3SE +/- 0.93, N = 3SE +/- 0.35, N = 3SE +/- 1.88, N = 3SE +/- 0.33, N = 3387.57390.53438.13379.27389.93393.07336.37371.17391.57395.73412.13374.531. (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 SizeBtrfsEXT4F2FSXFS80160240320400SE +/- 2.37, N = 3SE +/- 2.55, N = 3SE +/- 1.10, N = 3SE +/- 1.06, N = 3SE +/- 11.16, N = 6SE +/- 4.32, N = 3SE +/- 2.09, N = 3SE +/- 0.85, N = 3SE +/- 5.25, N = 6SE +/- 4.99, N = 3SE +/- 0.23, N = 3SE +/- 0.99, N = 3290.23280.73386.20214.10234.10275.40363.97195.83229.47263.00358.53194.431. (CC) gcc options: -static

Dbench

Client Count: 1

Linux 3.9Linux 3.10Linux 3.11OpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 1BtrfsEXT4F2FSXFS2004006008001000SE +/- 0.55, N = 3SE +/- 0.42, N = 3SE +/- 3.72, N = 3SE +/- 1.21, N = 3SE +/- 0.69, N = 3SE +/- 0.52, N = 3SE +/- 2.57, N = 3SE +/- 0.17, N = 3SE +/- 0.42, N = 3SE +/- 0.29, N = 3SE +/- 0.71, N = 3SE +/- 1.92, N = 3318.38373.721140.46379.43295.06329.34551.24358.61292.19310.62590.18354.371. (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 PerformanceBtrfsEXT4F2FSXFS13002600390052006500SE +/- 68.06, N = 3SE +/- 47.52, N = 3SE +/- 583.25, N = 6SE +/- 81.90, N = 3SE +/- 47.83, N = 3SE +/- 97.23, N = 3SE +/- 875.88, N = 6SE +/- 20.85, N = 3SE +/- 23.16, N = 3SE +/- 12.13, N = 3SE +/- 2.21, N = 3SE +/- 14.81, N = 36159.776071.423362.916234.616077.066080.804831.676166.155998.345976.68383.275982.741. (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 PerformanceBtrfsEXT4F2FSXFS110220330440550SE +/- 0.49, N = 3SE +/- 2.56, N = 3SE +/- 0.59, N = 3SE +/- 0.61, N = 3SE +/- 0.35, N = 3SE +/- 1.54, N = 3SE +/- 0.62, N = 3SE +/- 0.45, N = 3SE +/- 0.24, N = 3SE +/- 1.71, N = 3SE +/- 2.91, N = 3SE +/- 0.49, N = 3494.31488.17490.89490.99494.62490.66490.68490.80494.58489.41487.85490.301. (CC) gcc options: -O3

Compile Bench

Test: Compile

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

Compile Bench

Test: Initial Create

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


Phoronix Test Suite v10.8.4