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

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.

compilebench: Initial Createdbench: 1fio: 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 Sizeiozone: 64Kb - 8GB - Read Performanceiozone: 64Kb - 8GB - Write Performancepgbench: TPC-B Transactions Per SecondF2FSEXT4BtrfsXFS 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-rc155.50590.82364.2094.53100.0095.20226.08104.122920.0354.83621.57362.4096.03100.1394.77223.77103.883032.8958.04446.16391.6093.6389.1592.43229.19103.32832.20120.55198.37103.5681.9098.1380.97231.53101.063056.51109.04207.00103.9079.1797.3378.90233.09101.873146.43112.38204.19105.0179.5797.2079.37232.96101.153202.89170.77668.7169.6794.4069.47230.5590.551163.3455.45275.40665.8583.0797.7781.20199.94103.04715.2758.59233.64675.6982.5397.3381.10201.34102.86681.9694.88164.81226.4482.1094.9380.50225.40102.241803.8389.46168.49227.1383.6395.1081.90226.34102.461811.7190.28171.90226.4182.2396.1381.00222.26102.731816.04OpenBenchmarking.org

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

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

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

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: 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

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

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


Phoronix Test Suite v10.8.5