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&sro&grw.

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+.

compilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treetiobench: Rand Write - 32MB - 4tiobench: Rand Write - 64MB - 4tiobench: Write - 32MB - 4tiobench: Write - 64MB - 4fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeiozone: 64Kb - 8GB - Write Performancepostmark: Disk Transaction Performanceaio-stress: Rand WriteLinux 3.12Linux 3.13 Git XFS EXT4 Btrfs XFS EXT4 Btrfs244.96224.382814.980.520.500.430.4236.8753.5036.18122.9068811971.52318.44250.093034.070.470.450.440.3930.1265.6033.17112.5863032062.98568.62165.123027.110.620.570.690.6731.9047.0330.97134.226256281.46364.67199.942469.900.510.510.400.4237.0353.4735.83124.1055971889.90335.78225.022456.860.490.480.490.4631.0357.3330.87130.8354362024.48607.83137.582431.760.550.590.640.6031.5746.3730.83135.185211267.45OpenBenchmarking.org

Compile Bench

Test: Compile

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

Compile Bench

Test: Initial Create

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

Compile Bench

Test: Read Compiled Tree

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

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: 4BtrfsEXT4XFS0.13950.2790.41850.5580.6975SE +/- 0.01, N = 6SE +/- 0.00, N = 3SE +/- 0.01, N = 4SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 60.620.470.520.550.490.51

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: 4BtrfsEXT4XFS0.13280.26560.39840.53120.664SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 5SE +/- 0.00, N = 3SE +/- 0.01, N = 30.570.450.500.590.480.51

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: 4BtrfsEXT4XFS0.15530.31060.46590.62120.7765SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 4SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 30.690.440.430.640.490.40

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: 4BtrfsEXT4XFS0.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.670.390.420.600.460.42

FS-Mark

Test: 1000 Files, 1MB Size

Linux 3.12Linux 3.13 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeBtrfsEXT4XFS918273645SE +/- 0.61, N = 3SE +/- 0.89, N = 6SE +/- 0.13, N = 3SE +/- 0.48, N = 3SE +/- 0.07, N = 3SE +/- 0.09, N = 331.9030.1236.8731.5731.0337.031. (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 ThreadsBtrfsEXT4XFS1530456075SE +/- 0.13, N = 3SE +/- 0.80, N = 3SE +/- 0.10, N = 3SE +/- 0.12, N = 3SE +/- 1.28, N = 6SE +/- 0.13, N = 347.0365.6053.5046.3757.3353.471. (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 SizeBtrfsEXT4XFS816243240SE +/- 0.43, N = 3SE +/- 0.59, N = 6SE +/- 1.09, N = 6SE +/- 0.39, N = 3SE +/- 0.56, N = 6SE +/- 1.19, N = 630.9733.1736.1830.8330.8735.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 PerformanceBtrfsEXT4XFS306090120150SE +/- 0.29, N = 3SE +/- 0.72, N = 3SE +/- 1.26, N = 3SE +/- 0.48, N = 3SE +/- 0.38, N = 3SE +/- 0.23, N = 3134.22112.58122.90135.18130.83124.101. (CC) gcc options: -O3

PostMark

Disk Transaction Performance

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

AIO-Stress

Test: Random Write

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


Phoronix Test Suite v10.8.4