Linux 3.18 Kernel File-System Testing

EXT4, F2FS, XFS, and Btrfs file-system benchmarks on Linux 3.17 and Linux 3.18 Git kernels. Benchmarks by Michael Larabel for a future article on Phoronix.com.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1411072-LI-LINUX318F45
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs
On Line Graphs With Missing Data, Connect The Line Gaps

Multi-Way Comparison

Condense Comparison
Transpose Comparison

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
Linux 3.17: EXT4
November 07 2014
 
Linux 3.17: Btrfs
November 07 2014
 
Linux 3.17: XFS
November 07 2014
 
Linux 3.17: F2FS
November 07 2014
 
Linux 3.18 Git: EXT4
November 07 2014
 
Linux 3.18 Git: Btrfs
November 07 2014
 
Linux 3.18 Git: XFS
November 07 2014
 
Linux 3.18 Git: F2FS
November 07 2014
 
Invert Behavior (Only Show Selected Data)
 

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.17Linux 3.18 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FSIntel Core i7-5960X @ 4.00GHz (16 Cores)Gigabyte X99-UD4-CFIntel Xeon E5 v3/Core16384MB128GB Crucial_CT128MX1 + 240GB OCZ VERTEX3XFX AMD Radeon HD 7950/8950 OEM / R9 280 3072MBIntel C610/X99SyncMasterIntel ConnectionUbuntu 14.103.17.0-031700-generic (x86_64)Unity 7.3.1X Server 1.16.0radeon 7.4.03.3 Mesa 10.3.0 Gallium 0.4GCC 4.9.1ext42560x1600btrfsxfsf2fs3.18.0-999-generic (x86_64)ext4btrfsxfsf2fsOpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --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-multilib --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.17: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.17: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.17: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.17: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattrProcessor Details- Scaling Governor: intel_pstate powersaveSystem Details- Linux 3.17: EXT4: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: Btrfs: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: XFS: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.17: F2FS: Disk Scheduler: DEADLINE. Python 2.7.8.- Linux 3.18 Git: EXT4: Python 2.7.8.- Linux 3.18 Git: Btrfs: Python 2.7.8.- Linux 3.18 Git: XFS: Python 2.7.8.- Linux 3.18 Git: F2FS: Python 2.7.8.Disk Mount Options Details- Linux 3.18 Git: EXT4: data=ordered,relatime,rw- Linux 3.18 Git: Btrfs: relatime,rw,space_cache,ssd- Linux 3.18 Git: XFS: attr2,inode64,noquota,relatime,rw- Linux 3.18 Git: F2FS: acl,active_logs=6,background_gc=on,relatime,rw,user_xattr

fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefio: Rand Read - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Rand Write - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Seq Read - POSIX AIO - No - 16KB - Default Test Directory - MB/sfio: Seq Write - POSIX AIO - No - 16KB - Default Test Directory - MB/scompilebench: Initial Createpostmark: Disk Transaction PerformanceLinux 3.17Linux 3.18 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FS210.10358.83209.30105.14160.45103.35193.62317.644968219.53392.87214.8381.30160.5680.10188.39173.645173211.87355.37210.37100.60161.16102.51216.22248.695176255.87408.13257.77101.63156.19103.75200.82357.936049209.57359.33209.6398.65157.2598.94164.04308.475176217.65391.57215.9066.89162.9478.31181.29173.765210212.03354.00210.2395.92153.5896.94195.66268.245478250.57409.37254.9095.55156.5498.71179.21366.766049OpenBenchmarking.org

FS-Mark

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeEXT4XFSBtrfsF2FS60120180240300SE +/- 0.28, N = 3SE +/- 0.41, N = 3SE +/- 3.44, N = 4SE +/- 0.52, N = 3SE +/- 0.59, N = 3SE +/- 0.35, N = 3SE +/- 0.74, N = 3SE +/- 0.12, N = 3209.57212.03217.65250.57210.10211.87219.53255.871. (CC) gcc options: -static

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsXFSEXT4BtrfsF2FS90180270360450SE +/- 0.95, N = 3SE +/- 0.27, N = 3SE +/- 0.26, N = 3SE +/- 0.78, N = 3SE +/- 0.17, N = 3SE +/- 0.38, N = 3SE +/- 0.24, N = 3SE +/- 0.48, N = 3354.00359.33391.57409.37355.37358.83392.87408.131. (CC) gcc options: -static

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeEXT4XFSBtrfsF2FS60120180240300SE +/- 0.71, N = 3SE +/- 0.34, N = 3SE +/- 1.11, N = 3SE +/- 0.44, N = 3SE +/- 0.48, N = 3SE +/- 0.26, N = 3SE +/- 0.47, N = 3SE +/- 0.51, N = 3209.30210.37214.83257.77209.63210.23215.90254.901. (CC) gcc options: -static

Flexible IO Tester

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sBtrfsF2FSXFSEXT420406080100SE +/- 1.41, N = 6SE +/- 0.19, N = 3SE +/- 0.16, N = 3SE +/- 0.05, N = 3SE +/- 0.11, N = 3SE +/- 0.80, N = 3SE +/- 0.03, N = 3SE +/- 0.10, N = 366.8995.5595.9298.6581.30100.60101.63105.141. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sXFSF2FSEXT4Btrfs4080120160200SE +/- 9.40, N = 6SE +/- 1.43, N = 3SE +/- 0.43, N = 3SE +/- 5.95, N = 6SE +/- 3.64, N = 6SE +/- 10.55, N = 6SE +/- 4.26, N = 6SE +/- 6.60, N = 6153.58156.54157.25162.94156.19160.45160.56161.161. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sBtrfsXFSF2FSEXT420406080100SE +/- 0.20, N = 3SE +/- 0.23, N = 3SE +/- 0.14, N = 3SE +/- 0.09, N = 3SE +/- 0.81, N = 3SE +/- 0.49, N = 3SE +/- 0.09, N = 3SE +/- 0.04, N = 378.3196.9498.7198.9480.10102.51103.35103.751. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Linux 3.18 GitLinux 3.17OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/sEXT4F2FSBtrfsXFS50100150200250SE +/- 5.76, N = 6SE +/- 9.73, N = 6SE +/- 0.98, N = 3SE +/- 10.96, N = 6SE +/- 0.19, N = 3SE +/- 8.15, N = 6SE +/- 5.76, N = 6SE +/- 2.10, N = 3164.04179.21181.29195.66188.39193.62200.82216.221. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Compile Bench

Compilebench tries to age a filesystem by simulating some of the disk IO common in creating, compiling, patching, stating and reading kernel trees. It indirectly measures how well filesystems can maintain directory locality as the disk fills up and directories age. This current test is setup to use the makej mode with 10 initial directories Learn more via the OpenBenchmarking.org test page.

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateBtrfsXFSEXT4F2FS80160240320400SE +/- 2.62, N = 3SE +/- 0.46, N = 3SE +/- 4.74, N = 5SE +/- 16.39, N = 6SE +/- 1.00, N = 3SE +/- 3.93, N = 3SE +/- 6.17, N = 3SE +/- 7.62, N = 6173.64248.69317.64357.93173.76268.24308.47366.76

PostMark

This is a test of NetApp's PostMark benchmark designed to simulate small-file testing similar to the tasks endured by web and mail servers. This test profile will set PostMark to perform 25,000 transactions with 500 files simultaneously with the file sizes ranging between 5 and 512 kilobytes. Learn more via the OpenBenchmarking.org test page.

Linux 3.17Linux 3.18 GitOpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceEXT4BtrfsXFSF2FS13002600390052006500SE +/- 67.00, N = 3SE +/- 35.33, N = 3SE +/- 93.50, N = 3SE +/- 48.33, N = 3SE +/- 93.50, N = 3SE +/- 62.65, N = 3SE +/- 106.79, N = 3SE +/- 48.33, N = 3496851735176604951765210547860491. (CC) gcc options: -O3