:: choice ::
go green!  go red!  go blue!
random good link:
Die Grünen
random evil link:
Ku Klux Klan
random quote:
"Truth is hard to find and harder to obscure. "
visit kde.org! visit debian.org!

dali icon reiser4 benchmarks.

I had a look at the new version of Reiserfs, reiser4. I read that it would be much faster than all current filesystems for Linux, so I couldn't stand giving it a shot. I formatted a partition with some recent journalling filesystems and ran some benchmarks with different programs.

benchmarking method.

procedure - fs-bench.py.

All tests are run on the same partition, a 20GB Partition at the end of the disk, the disk has been reformatted for every test-run with the filesystem mentioned. I wrote a small script, fs-bench.py in order to get an idea what benefits ReiserFS 4 would have on my daily work. I ran it on three different partitions, one has been formatted with reiser4, one with reiserfs 3.6 and one with ext3. Also, the tests were executed in Single User Mode. After having the machine boot, I executed the script for a couple of times in order to fill caches.

The benchmark script issues the following commands and collects their execution time:
  • tar xjf linux-2.6.5.tar.bz2
  • tar cf test.tar linux-2.6.5/
  • grep -r fuck linux-2.6.5/
  • cp -R linux-2.6.5/ test/
  • find linux-2.6.5/ foobar
  • rm -rf linux-2.6.5/ test/
  • slow
  • bonnie++ -s 1g -n 5 -x 1 -u 0

I benchmarked the following filesystems:
  • reiserfs 3.6
  • ext3 in data mode data=ordered
  • ext3 in data mode data=writeback
  • ext3 in data mode data=journal
  • reiser4 default
  • xfs
  • jfs

kernel.

I ran the tests on a Vanilla 2.6.4 Kernel with the -ck2 patch from Con Kolivas. The patchset contains the reiserfs4 snapshot from 20040326. Additionally the kernel has been patched with swsusp and a patch for making reiser4 swsusp-compatible.

userspace.

For the tests, I have used the following tools for the benchmark:
  • rm, mv, cp (coreutils) 5.0.91
  • GNU find version 4.1.20
  • tar (GNU tar) 1.13.93
  • grep (GNU grep) 2.5.1
  • bzip2, a block-sorting file compressor. Version 1.0.2, 30-Dec-2001.
  • GNU find version 4.1.20
  • Python 2.3.3 (#2, Feb 24 2004)
  • gcc (GCC) 3.3.3 (Debian 20040401)
  • bonnie++ 1.03a Hard drive bottleneck testing benchmark suite.
  • slow.c is a benchmark program from the ReiserFS team. I found on the Reiserfs4 website.
The packages are standard debian / sid software at the moment of writing. reiser4progs, containing the mkfs and fsck tools have already found their way into debian sid.
Both reiser 3 and 4 filesystems are located on the same disk, I also ran the benchmark in reverse order, the results did not differ.

hardware.

I ran the tests on my workstation. The test have been run on an IBM / Hitachi Deathstar (model no.: Model=IC35L060AVV207-0, FwRev=V22OA66A, SerialNo=VNVB02G2C4PART).

results.

Beginning on the left, the bars stand for ReiserFS 4 (lighter blue), ReiserFS 3 (dark red), ext3 ordered (yellow), ext3 writeback (turquoise), ext journal (dark purple), XFS (lighter red) and JFS (blue).
decompression graph file creation graph
I would expect that uncompressing a tar archive would not have made much of a difference between the filesystems as it is the CPU being the bottleneck. Much more variation can be seen when creating a tar archive. reiser4 seems to do a good job, it's much faster than reiserfs 3, but beaten by JFS. Notably, XFS performs worst.

copy graph delete graph
reiser4 seems to be pretty fast with unlinking and copying of small files.

grep graph find graph
grep does not seem to work in favor of reiser4 and find is, where reiser4 performs worst of all compared filesystems.

bonnie++ graph slow.c graph
bonnie++ does not show that much differences between the competitors. Some more variation van be seen with slow.c, where ext3 with data=writeback seems to really do a bad job. reiser4, xfs and jfs seem to perform all pretty well. slow.c, by the way is a benchmarking tool from the ReiserFS team.


[Hang on, there's more to come, I have some more benchmarks in the pipeline!]

figures.

benchmark results tar bzip2 tar create grep -r cp -t find rm bonnie++ slow total
Reiserfs 4.0 47.6 3.87 1.61 6.13 0.27 5.58 272.8 52.7 390.55
Reiserfs 3.6 43.81 13.99 2.93 25.65 0.23 3.02 284.29 73.65 447.56
Ext3 data=ordered 43.73 5.78 1.24 3.6 0.18 10.5 280.41 94.05 439.49
Ext3 data=writeback 42.24 2.09 1.42 6 0.19 15.43 267.98 469.38 804.74
Ext3 data=journal 58.2 14.01 1.73 18.69 0.17 4.87 421.37 114.19 633.23
XFS 51.99 22.4 1.24 24.45 0.19 13.01 279.8 52.9 445.98
JFS 54.92 2.02 1.11 34.18 0.23 20.81 264.08 53.39 430.72
(all values in seconds)

conclusion.

Overall reiser4 seems to win it, although the results are not weighed. In most cases, reiser4 does a pretty good job. When it comes to copying lots of small files, reiser4 is very fast, especially compared to xfs, end even more to compared to jfs.

It seems that, apart from all other features, users of reiserfs 3 will gain lots of speed when upgrading to reiser4. Running the benchmarks on a spare disk was a very good idea. ;-)

read more.

  • The Secret World of ReiserFS is an article about reiserfs, which gives a pretty good impression of ReiserFS4 and its new features.
  • namesys.com is the official website of reiserfs, if you are looking for the details, go there.
  • linuxgazette.org has recently published some benchmarks of different journalled filesystems, although they 'forgot' to add reiser4 to their tests, still interesting to read



14-05-2004, 03:56 h
© Sebastian Kügler
[Parsetime: 0.0020sec]