Linux 3.4 Kernel File-Systems - XFS, Btrfs, EXT4

Benchmarks of the EXT4, Btrfs, XFS file-systems on an Intel SSD under Ubuntu 12.04 LTS x86_64. Benchmarking of the Btrfs/XFS/EXT4 file-systems with the Linux 3.2, Linux 3.3, and Linux 3.4 development kernels. Testing for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/1206088-BY-1205299SU76&grt.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionEXT4BtrfsXFSBtrfs Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZIntel Core i5-2520M @ 2.50GHz (4 Cores)HP 161CIntel 2nd Generation Core Family DRAM1 x 4096 MB DDR3-1333MHz160GB INTEL SSDSA2M160Intel Sandybridge Mobile (GT2+) (1300MHz)IDT 92HD81B1X5Intel 82579LM Gigabit Connection + Intel Centrino Advanced-N 6205Ubuntu 12.043.2.0-030200-generic (x86_64)Unity 5.10.0X Server 1.11.3intel 2.17.03.0 Mesa 8.0.2GCC 4.6ext41600x9003.3.0-030300-generic (x86_64)3.4.0-999-generic (x86_64)3.2.0-030200-generic (x86_64)btrfs3.3.0-030300-generic (x86_64)3.4.0-999-generic (x86_64)3.2.0-030200-generic (x86_64)xfs3.3.0-030300-generic (x86_64)3.4.0-999-generic (x86_64)Intel Xeon E31230 @ 3.20GHz (8 Cores)Supermicro X9SCL/X9SCMIntel Xeon E3-1200 Family DRAM2 x 4096 MB DDR3-1333MHz20 x 3001GB Western Digital WD30EZRX-00M + 160GB Seagate ST9160314AS + 320GB Western Digital WD3200AAKX-0Matrox s MGA G200eW WPCM450Intel 82579LM Gigabit ConnectionDebian Linux Wheezy/sid3.4.0 (x86_64)btrfsOpenBenchmarking.orgCompiler Details- EXT4: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- EXT4: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- EXT4: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- Btrfs: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- Btrfs: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- Btrfs: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- XFS: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- XFS: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- XFS: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v- Btrfs: Linux 3.4 UZ: --build=x86_64-linux-gnu --enable-checking=release --enable-clocale=gnu --enable-languages=c,c++,fortran,objc,obj-c++,go --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i586 --with-tune=generic -vDisk Details- EXT4: Linux 3.2: CFQ / barrier=1,data=ordered,errors=remount-ro,relatime,rw,user_xattr- EXT4: Linux 3.3: CFQ / barrier=1,data=ordered,errors=remount-ro,relatime,rw,user_xattr- EXT4: Linux 3.4 Git: CFQ / data=ordered,errors=remount-ro,relatime,rw- Btrfs: Linux 3.2: CFQ / nospace_cache,relatime,rw,ssd- Btrfs: Linux 3.3: CFQ / nospace_cache,relatime,rw,ssd- Btrfs: Linux 3.4 Git: CFQ / nospace_cache,relatime,rw,ssd- XFS: Linux 3.2: CFQ / attr2,delaylog,noquota,relatime,rw- XFS: Linux 3.3: CFQ / attr2,noquota,relatime,rw- XFS: Linux 3.4 Git: CFQ / attr2,noquota,relatime,rw- Btrfs: Linux 3.4 UZ: CFQ / attr2,noquota,relatime,rwProcessor Details- EXT4: Linux 3.2, EXT4: Linux 3.3, EXT4: Linux 3.4 Git, Btrfs: Linux 3.2, Btrfs: Linux 3.3, Btrfs: Linux 3.4 Git, XFS: Linux 3.2, XFS: Linux 3.3, XFS: Linux 3.4 Git: Scaling Governor: ondemandSystem Details- EXT4: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- EXT4: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- EXT4: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- Btrfs: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- Btrfs: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- Btrfs: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- XFS: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- XFS: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- XFS: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system.- Btrfs: Linux 3.4 UZ: Disk Scheduler: CFQ. Python 2.7.3rc2.

apache: Static Web Page Servingcompilebench: Compilecompilebench: Initial Createdbench: 1fs-mark: 1000 Files, 1MB Sizefs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeiozone: 1MB - 8GB - Read Performanceiozone: 4Kb - 8GB - Read Performanceiozone: 1MB - 8GB - Write Performanceiozone: 4Kb - 8GB - Write Performanceiozone: 64Kb - 8GB - Read Performanceiozone: 64Kb - 8GB - Write Performancetiobench: Rand Write - 64MB - 8EXT4BtrfsXFSBtrfs Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ20805.20106.7098.45192.8590.2778.47233.55254.77100.49100.34254.79100.5390.0119441.75105.6494.77207.4685.6076.70254.87254.75100.39100.41254.73100.5789.5420564.77104.8698.94208.5285.3075.67254.70254.8099.20100.02254.69100.5489.1419169.14105.8858.81161.3173.8762.77223.99225.6899.3499.07225.1399.2289.6518619.55106.3453.95173.5382.7063.30223.83223.6599.4599.37224.7899.5088.5619679.58104.8951.92164.4066.5360.47231.21226.7598.8698.98232.1299.2891.8219672.22104.7787.26159.1190.5781.60205.67242.41101.22100.98242.91101.3587.2618854.75102.7389.43169.9484.6581.50237.01240.18101.86101.62239.49102.1487.6619964.0095.4274.78165.0586.9079.07238.77239.47100.8396.41183.0299.6978.3229171.23379.63171.574.519.409.53136.96137.40165.84165.13135.25163.2055.48OpenBenchmarking.org

Apache Benchmark

Static Web Page Serving

EXT4BtrfsXFSOpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.2.21Static Web Page ServingLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ6K12K18K24K30KSE +/- 231.67, N = 3SE +/- 354.48, N = 3SE +/- 84.10, N = 3SE +/- 102.51, N = 3SE +/- 59.43, N = 3SE +/- 83.92, N = 3SE +/- 516.29, N = 3SE +/- 60.20, N = 3SE +/- 99.43, N = 3SE +/- 77.92, N = 320805.2019441.7520564.7719169.1418619.5519679.5829171.2319672.2218854.7519964.001. (CC) gcc options: -O2 -pthread -lm -lrt -lcrypt -lpthread -ldl

Compile Bench

Test: Compile

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ80160240320400SE +/- 1.22, N = 3SE +/- 0.67, N = 3SE +/- 1.24, N = 3SE +/- 0.55, N = 3SE +/- 0.21, N = 3SE +/- 0.98, N = 3SE +/- 0.87, N = 3SE +/- 0.61, N = 3SE +/- 1.45, N = 3SE +/- 1.85, N = 3106.70105.64104.86105.88106.34104.89379.63104.77102.7395.42

Compile Bench

Test: Initial Create

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ4080120160200SE +/- 1.35, N = 3SE +/- 5.02, N = 3SE +/- 2.26, N = 3SE +/- 0.49, N = 3SE +/- 0.22, N = 3SE +/- 1.34, N = 3SE +/- 3.21, N = 3SE +/- 0.70, N = 3SE +/- 4.10, N = 3SE +/- 5.26, N = 398.4594.7798.9458.8153.9551.92171.5787.2689.4374.78

Dbench

Client Count: 1

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 1Linux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ50100150200250SE +/- 1.17, N = 3SE +/- 0.05, N = 3SE +/- 0.11, N = 3SE +/- 0.29, N = 3SE +/- 0.13, N = 3SE +/- 0.32, N = 3SE +/- 0.02, N = 3SE +/- 0.50, N = 3SE +/- 0.30, N = 3SE +/- 0.22, N = 3192.85207.46208.52161.31173.53164.404.51159.11169.94165.051. (CC) gcc options: -lpopt

FS-Mark

Test: 1000 Files, 1MB Size

EXT4BtrfsXFSOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ20406080100SE +/- 0.92, N = 3SE +/- 0.89, N = 3SE +/- 1.47, N = 3SE +/- 4.63, N = 6SE +/- 1.40, N = 3SE +/- 3.66, N = 6SE +/- 0.10, N = 3SE +/- 0.55, N = 3SE +/- 1.35, N = 6SE +/- 1.48, N = 390.2785.6085.3073.8782.7066.539.4090.5784.6586.901. (CC) gcc options: -static

FS-Mark

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

EXT4BtrfsXFSOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ20406080100SE +/- 0.54, N = 3SE +/- 0.06, N = 3SE +/- 0.20, N = 3SE +/- 0.37, N = 3SE +/- 0.99, N = 6SE +/- 0.15, N = 3SE +/- 0.09, N = 3SE +/- 0.64, N = 3SE +/- 0.65, N = 3SE +/- 1.16, N = 378.4776.7075.6762.7763.3060.479.5381.6081.5079.071. (CC) gcc options: -static

IOzone

Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 1MB - File Size: 8GB - Disk Test: Read PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ60120180240300SE +/- 3.53, N = 6SE +/- 0.04, N = 3SE +/- 0.10, N = 3SE +/- 1.77, N = 3SE +/- 1.66, N = 3SE +/- 4.22, N = 3SE +/- 0.92, N = 3SE +/- 1.27, N = 3SE +/- 1.27, N = 3SE +/- 0.91, N = 3233.55254.87254.70223.99223.83231.21136.96205.67237.01238.771. (CC) gcc options: -O3

IOzone

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

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 4Kb - File Size: 8GB - Disk Test: Read PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ60120180240300SE +/- 0.02, N = 3SE +/- 0.05, N = 3SE +/- 0.00, N = 3SE +/- 0.44, N = 3SE +/- 0.23, N = 3SE +/- 1.71, N = 3SE +/- 2.54, N = 3SE +/- 3.51, N = 3SE +/- 1.53, N = 3SE +/- 0.69, N = 3254.77254.75254.80225.68223.65226.75137.40242.41240.18239.471. (CC) gcc options: -O3

IOzone

Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 1MB - File Size: 8GB - Disk Test: Write PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ4080120160200SE +/- 0.15, N = 3SE +/- 0.07, N = 3SE +/- 1.07, N = 3SE +/- 0.21, N = 3SE +/- 0.08, N = 3SE +/- 0.19, N = 3SE +/- 3.03, N = 6SE +/- 0.31, N = 3SE +/- 0.37, N = 3SE +/- 1.28, N = 3100.49100.3999.2099.3499.4598.86165.84101.22101.86100.831. (CC) gcc options: -O3

IOzone

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

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 4Kb - File Size: 8GB - Disk Test: Write PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ4080120160200SE +/- 0.14, N = 3SE +/- 0.11, N = 3SE +/- 0.06, N = 3SE +/- 0.23, N = 3SE +/- 0.06, N = 3SE +/- 0.19, N = 3SE +/- 1.33, N = 3SE +/- 0.69, N = 3SE +/- 0.52, N = 3SE +/- 1.46, N = 3100.34100.41100.0299.0799.3798.98165.13100.98101.6296.411. (CC) gcc options: -O3

IOzone

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

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Read PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ60120180240300SE +/- 0.04, N = 3SE +/- 0.05, N = 3SE +/- 0.06, N = 3SE +/- 0.51, N = 3SE +/- 0.56, N = 3SE +/- 3.95, N = 6SE +/- 0.49, N = 3SE +/- 2.52, N = 3SE +/- 2.75, N = 3SE +/- 4.39, N = 6254.79254.73254.69225.13224.78232.12135.25242.91239.49183.021. (CC) gcc options: -O3

IOzone

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

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Write PerformanceLinux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ4080120160200SE +/- 0.10, N = 3SE +/- 0.25, N = 3SE +/- 0.06, N = 3SE +/- 0.22, N = 3SE +/- 0.14, N = 3SE +/- 0.18, N = 3SE +/- 2.57, N = 3SE +/- 0.67, N = 3SE +/- 0.11, N = 3SE +/- 0.49, N = 3100.53100.57100.5499.2299.5099.28163.20101.35102.1499.691. (CC) gcc options: -O3

Threaded I/O Tester

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

EXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterThreaded I/O Tester 0.3.3Test: Random Write - Size Per Thread: 64MB - Thread Count: 8Linux 3.2Linux 3.3Linux 3.4 GitLinux 3.4 UZ20406080100SE +/- 0.20, N = 4SE +/- 0.42, N = 4SE +/- 0.73, N = 4SE +/- 1.66, N = 8SE +/- 1.66, N = 8SE +/- 0.96, N = 4SE +/- 3.11, N = 8SE +/- 0.56, N = 4SE +/- 0.39, N = 4SE +/- 10.03, N = 890.0189.5489.1489.6588.5691.8255.4887.2687.6678.32


Phoronix Test Suite v10.8.4