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

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 Patternfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizedbench: 1iozone: 64Kb - 8GB - Read Performanceiozone: 64Kb - 8GB - Write Performancecompilebench: Initial Createpgbench: 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-rc1364.2094.53100.0095.20590.82226.08104.1255.502920.03362.4096.03100.1394.77621.57223.77103.8854.833032.89391.6093.6389.1592.43446.16229.19103.3258.04832.20103.5681.9098.1380.97198.37231.53101.06120.553056.51103.9079.1797.3378.90207.00233.09101.87109.043146.43105.0179.5797.2079.37204.19232.96101.15112.383202.89668.7169.6794.4069.47170.77230.5590.551163.34665.8583.0797.7781.20275.40199.94103.0455.45715.27675.6982.5397.3381.10233.64201.34102.8658.59681.96226.4482.1094.9380.50164.81225.40102.2494.881803.83227.1383.6395.1081.90168.49226.34102.4689.461811.71226.4182.2396.1381.00171.90222.26102.7390.281816.04OpenBenchmarking.org

Flexible IO Tester

Test: Intel IOMeter File Server Access Pattern

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

FS-Mark

Test: 1000 Files, 1MB Size

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

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

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

FS-Mark

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

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

Dbench

Client Count: 1

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

IOzone

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

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

IOzone

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

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

Compile Bench

Test: Initial Create

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

PostgreSQL pgbench

TPC-B Transactions Per Second

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


Phoronix Test Suite v10.8.5