Linux 3.13 HDD File-System Benchmarks

Tests by Michael Larabel for a future article on Phoronix.com testing EXT4, Btrfs, and XFS file-systems from the Linux 3.13 Git kernel and compared to the Linux 3.12 stable release. Using a Western Digital VelociRaptor 1000RPM WD1500HLHX HDD for testing.

HTML result view exported from: https://openbenchmarking.org/result/1312110-SO-LINUX313K26.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.12Linux 3.13 Git XFS EXT4 Btrfs XFS EXT4 BtrfsIntel Core i7-4770K @ 4.40GHz (8 Cores)ECS Z87H3-A2X EXTREME v1.0Intel 4th Gen Core DRAM16384MB150GB Western Digital WD1500HLHX-0 + 240GB OCZ VERTEX3Intel HD 4600 (1250MHz)Intel Haswell HDMIRealtek RTL8111/8168/8411Ubuntu 13.103.12.0-031200-generic (x86_64)Unity 7.1.2X Server 1.14.3intel 2.99.9063.3 Mesa 10.1.0-devel (git-5b331f6 saucy-oibaf-ppa)GCC 4.8 + LLVM 3.4xfs1920x1080ext4btrfs3.13.0-999-generic (x86_64)xfsext4btrfsOpenBenchmarking.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-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- Linux 3.12: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.12: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.12: Btrfs: DEADLINE / relatime,rw,space_cache- Linux 3.13 Git: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.13 Git: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.13 Git: Btrfs: DEADLINE / relatime,rw,space_cacheSystem Details- Disk Scheduler: DEADLINE. Python 2.7.5+.

aio-stress: Rand Writefs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeiozone: 64Kb - 8GB - Write Performancetiobench: Write - 32MB - 4tiobench: Write - 64MB - 4tiobench: Rand Write - 32MB - 4tiobench: Rand Write - 64MB - 4compilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treepostmark: Disk Transaction PerformanceLinux 3.12Linux 3.13 Git XFS EXT4 Btrfs XFS EXT4 Btrfs1971.5236.8753.5036.18122.900.430.420.520.50244.96224.382814.9868812062.9830.1265.6033.17112.580.440.390.470.45318.44250.093034.076303281.4631.9047.0330.97134.220.690.670.620.57568.62165.123027.1162561889.9037.0353.4735.83124.100.400.420.510.51364.67199.942469.9055972024.4831.0357.3330.87130.830.490.460.490.48335.78225.022456.865436267.4531.5746.3730.83135.180.640.600.550.59607.83137.582431.765211OpenBenchmarking.org

AIO-Stress

Test: Random Write

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterAIO-Stress 0.21Test: Random WriteXFSEXT4Btrfs400800120016002000SE +/- 129.99, N = 6SE +/- 21.82, N = 3SE +/- 23.77, N = 6SE +/- 110.35, N = 6SE +/- 12.82, N = 3SE +/- 12.22, N = 61971.522062.98281.461889.902024.48267.451. (CC) gcc options: -pthread -laio

FS-Mark

Test: 1000 Files, 1MB Size

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeXFSEXT4Btrfs918273645SE +/- 0.13, N = 3SE +/- 0.89, N = 6SE +/- 0.61, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 3SE +/- 0.48, N = 336.8730.1231.9037.0331.0331.571. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsXFSEXT4Btrfs1530456075SE +/- 0.10, N = 3SE +/- 0.80, N = 3SE +/- 0.13, N = 3SE +/- 0.13, N = 3SE +/- 1.28, N = 6SE +/- 0.12, N = 353.5065.6047.0353.4757.3346.371. (CC) gcc options: -static

FS-Mark

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

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeXFSEXT4Btrfs816243240SE +/- 1.09, N = 6SE +/- 0.59, N = 6SE +/- 0.43, N = 3SE +/- 1.19, N = 6SE +/- 0.56, N = 6SE +/- 0.39, N = 336.1833.1730.9735.8330.8730.831. (CC) gcc options: -static

IOzone

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

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Write PerformanceXFSEXT4Btrfs306090120150SE +/- 1.26, N = 3SE +/- 0.72, N = 3SE +/- 0.29, N = 3SE +/- 0.23, N = 3SE +/- 0.38, N = 3SE +/- 0.48, N = 3122.90112.58134.22124.10130.83135.181. (CC) gcc options: -O3

Threaded I/O Tester

Test: Write - Size Per Thread: 32MB - Thread Count: 4

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 0.3.3Test: Write - Size Per Thread: 32MB - Thread Count: 4XFSEXT4Btrfs0.15530.31060.46590.62120.7765SE +/- 0.01, N = 4SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 30.430.440.690.400.490.64

Threaded I/O Tester

Test: Write - Size Per Thread: 64MB - Thread Count: 4

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 0.3.3Test: Write - Size Per Thread: 64MB - Thread Count: 4XFSEXT4Btrfs0.15080.30160.45240.60320.754SE +/- 0.00, N = 3SE +/- 0.03, N = 6SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 6SE +/- 0.01, N = 30.420.390.670.420.460.60

Threaded I/O Tester

Test: Random Write - Size Per Thread: 32MB - Thread Count: 4

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 0.3.3Test: Random Write - Size Per Thread: 32MB - Thread Count: 4XFSEXT4Btrfs0.13950.2790.41850.5580.6975SE +/- 0.01, N = 4SE +/- 0.00, N = 3SE +/- 0.01, N = 6SE +/- 0.01, N = 6SE +/- 0.00, N = 3SE +/- 0.00, N = 30.520.470.620.510.490.55

Threaded I/O Tester

Test: Random Write - Size Per Thread: 64MB - Thread Count: 4

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 0.3.3Test: Random Write - Size Per Thread: 64MB - Thread Count: 4XFSEXT4Btrfs0.13280.26560.39840.53120.664SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 50.500.450.570.510.480.59

Compile Bench

Test: Compile

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileXFSEXT4Btrfs130260390520650SE +/- 39.07, N = 6SE +/- 9.50, N = 6SE +/- 52.81, N = 6SE +/- 2.25, N = 3SE +/- 1.01, N = 3SE +/- 31.58, N = 6244.96318.44568.62364.67335.78607.83

Compile Bench

Test: Initial Create

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateXFSEXT4Btrfs50100150200250SE +/- 6.42, N = 3SE +/- 3.35, N = 3SE +/- 11.15, N = 3SE +/- 10.18, N = 3SE +/- 2.56, N = 3SE +/- 5.25, N = 3224.38250.09165.12199.94225.02137.58

Compile Bench

Test: Read Compiled Tree

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeXFSEXT4Btrfs7001400210028003500SE +/- 266.01, N = 3SE +/- 40.00, N = 3SE +/- 18.11, N = 3SE +/- 0.37, N = 3SE +/- 9.65, N = 3SE +/- 2.36, N = 32814.983034.073027.112469.902456.862431.76

PostMark

Disk Transaction Performance

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceXFSEXT4Btrfs15003000450060007500SE +/- 62.67, N = 3SE +/- 53.33, N = 3SE +/- 97.17, N = 5SE +/- 42.00, N = 3SE +/- 68.13, N = 3SE +/- 251.19, N = 66881630362565597543652111. (CC) gcc options: -O3


Phoronix Test Suite v10.8.4