Linux 3.10 Kernel File System - F2FS, EXT4, Btrfs, XFS

Btrfs, XFS, EXT4, and F2FS file-system benchmarks from an SSD with the Linux 3.10-rc1 kernel and running Ubuntu Linux distribution. Benchmarking by Michael Larabel for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1305166-UT-FILESYSTE20&grs&rdt.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionF2FSEXT4BtrfsXFS Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1Intel Core i7 720Q @ 1.60GHz (8 Cores)LENOVO 4318CTOIntel Core DMI4096MB160GB INTEL SSDSA2M160NVIDIA Quadro FX 880M 1024MB (405/324MHz)Conexant CX20585Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300Ubuntu 13.043.8.0-030800-generic (x86_64)Unity 7.0.0X Server 1.13.3nouveau 1.0.73.0 Mesa 9.1.1 Gallium 0.4GCC 4.7F2FS1600x9003.9.0-030900-generic (x86_64)3.10.0-031000rc1-generic (x86_64)3.8.0-030800-generic (x86_64)ext43.9.0-030900-generic (x86_64)3.10.0-031000rc1-generic (x86_64)3.8.0-030800-generic (x86_64)btrfs3.9.0-030900-generic (x86_64)3.10.0-031000rc1-generic (x86_64)3.8.0-030800-generic (x86_64)xfs3.9.0-030900-generic (x86_64)3.10.0-031000rc1-generic (x86_64)OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-cloog-version-check --disable-ppl-version-check --disable-werror --enable-checking=release --enable-clocale=gnu --enable-cloog-backend=ppl --enable-gnu-unique-object --enable-languages=c,c++,go,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-cloog --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- F2FS: Linux 3.8: DEADLINE / acl,active_logs=6,background_gc_on,relatime,rw,user_xattr- F2FS: Linux 3.9: DEADLINE / acl,active_logs=6,background_gc_on,relatime,rw,user_xattr- F2FS: Linux 3.10-rc1: DEADLINE / acl,active_logs=6,background_gc_on,relatime,rw,user_xattr- EXT4: Linux 3.8: DEADLINE / data=ordered,relatime,rw- EXT4: Linux 3.9: DEADLINE / data=ordered,relatime,rw- EXT4: Linux 3.10-rc1: DEADLINE / data=ordered,relatime,rw- Btrfs: Linux 3.8: DEADLINE / relatime,rw,space_cache,ssd- Btrfs: Linux 3.9: DEADLINE / relatime,rw,space_cache,ssd- Btrfs: Linux 3.10-rc1: DEADLINE / relatime,rw,space_cache,ssd- XFS: Linux 3.8: DEADLINE / attr2,inode64,noquota,relatime,rw- XFS: Linux 3.9: DEADLINE / attr2,inode64,noquota,relatime,rw- XFS: Linux 3.10-rc1: DEADLINE / attr2,inode64,noquota,relatime,rwProcessor Details- Scaling Governor: ondemandSystem Details- Disk Scheduler: DEADLINE. Python 2.7.4.

fio: Intel IOMeter File Server Access Patternpgbench: TPC-B Transactions Per Seconddbench: 1compilebench: Initial Createfs-mark: 1000 Files, 1MB Sizefs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeiozone: 64Kb - 8GB - Read Performanceiozone: 64Kb - 8GB - Write Performancefs-mark: 5000 Files, 1MB Size, 4 ThreadsF2FSEXT4BtrfsXFS Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1 Linux 3.8 Linux 3.9 Linux 3.10-rc1364.202920.03590.8255.5094.5395.20226.08104.12100.00362.403032.89621.5754.8396.0394.77223.77103.88100.13391.60832.20446.1658.0493.6392.43229.19103.3289.15103.563056.51198.37120.5581.9080.97231.53101.0698.13103.903146.43207.00109.0479.1778.90233.09101.8797.33105.013202.89204.19112.3879.5779.37232.96101.1597.20668.711163.34170.7769.6769.47230.5590.5594.40665.85715.27275.4055.4583.0781.20199.94103.0497.77675.69681.96233.6458.5982.5381.10201.34102.8697.33226.441803.83164.8194.8882.1080.50225.40102.2494.93227.131811.71168.4989.4683.6381.90226.34102.4695.10226.411816.04171.9090.2882.2381.00222.26102.7396.13OpenBenchmarking.org

Flexible IO Tester

Test: Intel IOMeter File Server Access Pattern

F2FSEXT4BtrfsXFSOpenBenchmarking.orgSeconds (Run Time), Fewer Is BetterFlexible IO Tester 1.57Test: Intel IOMeter File Server Access PatternLinux 3.8Linux 3.9Linux 3.10-rc1150300450600750SE +/- 0.99, N = 3SE +/- 1.45, N = 3SE +/- 11.41, N = 6SE +/- 0.08, N = 3SE +/- 0.13, N = 3SE +/- 0.55, N = 3SE +/- 2.99, N = 3SE +/- 3.19, N = 3SE +/- 1.64, N = 3SE +/- 0.58, N = 3SE +/- 0.53, N = 3SE +/- 0.78, N = 3364.20362.40391.60103.56103.90105.01668.71665.85675.69226.44227.13226.411. (CC) gcc options: -std=gnu99 -O2 -rdynamic -lm -lpthread -ldl -lrt -laio

PostgreSQL pgbench

TPC-B Transactions Per Second

F2FSEXT4BtrfsXFSOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 8.4.11TPC-B Transactions Per SecondLinux 3.8Linux 3.9Linux 3.10-rc17001400210028003500SE +/- 68.17, N = 6SE +/- 49.67, N = 6SE +/- 115.50, N = 6SE +/- 42.39, N = 6SE +/- 42.64, N = 6SE +/- 66.13, N = 6SE +/- 11.04, N = 3SE +/- 35.05, N = 6SE +/- 39.56, N = 6SE +/- 5.16, N = 3SE +/- 34.71, N = 3SE +/- 25.59, N = 62920.033032.89832.203056.513146.433202.891163.34715.27681.961803.831811.711816.041. (CC) gcc options: -O2 -fno-strict-aliasing -fwrapv -lpgport -lpq -lcrypt -ldl -lm

Dbench

Client Count: 1

F2FSEXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 1Linux 3.8Linux 3.9Linux 3.10-rc1130260390520650SE +/- 2.82, N = 3SE +/- 2.63, N = 3SE +/- 2.68, N = 3SE +/- 0.36, N = 3SE +/- 0.19, N = 3SE +/- 0.26, N = 3SE +/- 1.14, N = 3SE +/- 0.45, N = 3SE +/- 0.37, N = 3SE +/- 0.19, N = 3SE +/- 0.15, N = 3SE +/- 0.11, N = 3590.82621.57446.16198.37207.00204.19170.77275.40233.64164.81168.49171.901. (CC) gcc options: -lpopt -O2

Compile Bench

Test: Initial Create

F2FSEXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateLinux 3.8Linux 3.9Linux 3.10-rc1306090120150SE +/- 0.60, N = 3SE +/- 0.40, N = 3SE +/- 1.04, N = 6SE +/- 2.19, N = 3SE +/- 1.99, N = 6SE +/- 3.16, N = 6SE +/- 0.50, N = 3SE +/- 0.71, N = 3SE +/- 1.92, N = 6SE +/- 1.44, N = 4SE +/- 1.38, N = 455.5054.8358.04120.55109.04112.3855.4558.5994.8889.4690.28

FS-Mark

Test: 1000 Files, 1MB Size

F2FSEXT4BtrfsXFSOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeLinux 3.8Linux 3.9Linux 3.10-rc120406080100SE +/- 1.60, N = 3SE +/- 1.41, N = 3SE +/- 1.15, N = 3SE +/- 0.65, N = 3SE +/- 0.70, N = 3SE +/- 0.73, N = 3SE +/- 1.26, N = 3SE +/- 1.22, N = 3SE +/- 0.56, N = 3SE +/- 0.75, N = 3SE +/- 0.97, N = 3SE +/- 0.60, N = 394.5396.0393.6381.9079.1779.5769.6783.0782.5382.1083.6382.231. (CC) gcc options: -static

FS-Mark

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

F2FSEXT4BtrfsXFSOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeLinux 3.8Linux 3.9Linux 3.10-rc120406080100SE +/- 0.83, N = 3SE +/- 0.66, N = 3SE +/- 1.32, N = 3SE +/- 0.24, N = 3SE +/- 0.12, N = 3SE +/- 0.12, N = 3SE +/- 0.50, N = 3SE +/- 0.71, N = 3SE +/- 0.95, N = 3SE +/- 0.72, N = 3SE +/- 0.85, N = 3SE +/- 0.57, N = 395.2094.7792.4380.9778.9079.3769.4781.2081.1080.5081.9081.001. (CC) gcc options: -static

IOzone

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

F2FSEXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Read PerformanceLinux 3.8Linux 3.9Linux 3.10-rc150100150200250SE +/- 2.08, N = 3SE +/- 0.24, N = 3SE +/- 3.62, N = 3SE +/- 4.74, N = 6SE +/- 1.09, N = 3SE +/- 1.94, N = 3SE +/- 3.08, N = 3SE +/- 0.35, N = 3SE +/- 1.11, N = 3SE +/- 2.96, N = 3SE +/- 3.35, N = 3SE +/- 3.70, N = 4226.08223.77229.19231.53233.09232.96230.55199.94201.34225.40226.34222.261. (CC) gcc options: -O3

IOzone

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

F2FSEXT4BtrfsXFSOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 64Kb - File Size: 8GB - Disk Test: Write PerformanceLinux 3.8Linux 3.9Linux 3.10-rc120406080100SE +/- 0.07, N = 3SE +/- 0.29, N = 3SE +/- 0.15, N = 3SE +/- 0.25, N = 3SE +/- 0.12, N = 3SE +/- 0.22, N = 3SE +/- 1.14, N = 3SE +/- 0.03, N = 3SE +/- 0.20, N = 3SE +/- 0.25, N = 3SE +/- 0.39, N = 3SE +/- 0.16, N = 3104.12103.88103.32101.06101.87101.1590.55103.04102.86102.24102.46102.731. (CC) gcc options: -O3

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

F2FSEXT4BtrfsXFSOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsLinux 3.8Linux 3.9Linux 3.10-rc120406080100SE +/- 0.44, N = 3SE +/- 0.23, N = 3SE +/- 7.25, N = 6SE +/- 0.13, N = 3SE +/- 0.13, N = 3SE +/- 0.00, N = 3SE +/- 0.20, N = 3SE +/- 0.13, N = 3SE +/- 0.74, N = 3SE +/- 0.70, N = 3SE +/- 0.48, N = 3100.00100.1389.1598.1397.3397.2094.4097.7797.3394.9395.1096.131. (CC) gcc options: -static


Phoronix Test Suite v10.8.5