The benchmark focuses on common operations on a big tar file which contains lots of little files: cp, tar -x, tar -c, chmod -R, ls -R, rm (more detailed description is at the bottom). All operations are performed sequentially, single-threaded. So these results apply more to simple desktop use, and less to multi-threaded server type stuff.
Results:
Times are in seconds. Blocks Used shows the peak amount of space used as reported by df -k.
Code: Select all
File Real User System Total 1K Blocks
System Mount Options Time CPU CPU Blocks Used
-------- ------------------------- ------- ----- ------ -------- -------
ReiserFS 282.414 6.050 66.980 15719084 1584988
ReiserFS -o noatime 256.560 6.250 66.740 15719084 1584988
ReiserFS -o notail 178.170 5.760 71.330 15719084 1817160
ReiserFS -o noatime,notail 173.601 5.830 70.950 15719084 1817160
XFS 528.737 6.870 57.550 15714768 1806612
XFS -o noatime 478.343 6.800 56.520 15714768 1806612
JFS 516.397 5.860 31.190 15686116 1860644
JFS -o noatime 482.550 6.270 30.100 15686116 1860648
ext3 -o data=journal 719.786 5.740 34.980 15472768 1870304
ext3 -o data=ordered 713.118 6.090 33.760 15472768 1870304
ext3 -o data=writeback 782.316 6.120 34.010 15472768 1870304
ext3 -o data=journal,noatime 635.717 6.020 34.750 15472768 1870304
ext3 -o data=ordered,noatime 633.591 5.940 34.120 15472768 1870304
ext3 -o data=writeback,noatime 710.749 6.300 32.660 15472768 1870304
ext2 707.005 5.480 23.570 15472768 1837496
ext2 -o noatime 652.535 5.760 23.120 15472768 1837496ReiserFS is by far the fastest under this benchmark. It is even faster with the notail option. ReiserFS notail is a whopping FOUR times faster than ext3 data=ordered!!! Without notail ReiserFS is considerably more space efficient than all other FS. With notail its space efficiency is similar to all other FS. However ReiserFS burns considerably more System CPU time than any other FS to perform the same operations, so I speculate that its performance may not be so great in situations with a heavy CPU load.
All of the FS get a little speed boost from the noatime option.
XFS is unremarkable. JFS is interesting in that it has very low CPU use and achieves a speed faster than ext2/ext3 (but not as fast as ReiserFS). Maybe JFS would be a good choice for a system with a slow or heavily loaded CPU?
For ext3, the data=ordered option is fastest and the data=writeback option is the slowest. This contradicts the mount man page which says data=writeback "is rumoured to be the highest-throughput option".
Benchmark system:
Motherboard: Intel D815EEA
CPU: Intel Pentium III 733 MHz
Drive: Western Digital WD1600JB
Benchmark kernel: gs-sources-2.4.21_rc8
Benchmark file: mozilla-source-1.3.tar.bz2 from /usr/portage/distfiles
Time to uncompress with bunzip2 is not counted in the benchmark since this is CPU bound.
Benchmark operations:
mount
cp mozilla-source-1.3.tar copy1.tar
mkdir out1
tar -x -f copy1.tar -C out1
cp -R out1 out2 # Slowest operation on all FS, so this gets the most weight.
tar -c -f copy2.tar out2
mkdir out3
tar -x -f copy2.tar -C out3
chmod -R uo-rwx out2
ls -R out3 > dev/null
ls -lFR out1 out2 > /dev/null
df -k --sync
rm -rf out1 out2 out3 copy1.tar copy2.tar
umount




