Experiments - Piotr Arłukowicz

 Uniwersytet Gdański -  Instytut Informatyki -  Piotr Arłukowicz -  TestFS

Filesystem tests

Look also here:
Benchmarking filesystems I,
Benchmarking filesystems II.

Note: you should really read above articles. There are some important details. I don't repeat them here. You can also compare our results.

So, here is my own benchmark. The machine specs:

CPU:        Intel i7 920 (@2.67GHz - default),
HDD (sda):  Samsung HD103SJ (main system disk)
HDD (sdb):  Samsung HD103SJ (tested disk, temp. 30-32°C during tests),
Controller: Intel SATA 82801JI (ICH10) 
RAM:        12GB GEIL 1066MHz
The system specs:
System: Gentoo,
Arch:   x86_64,
CFLAGS: -O2 -march=native,
kernel: 2.6.31-zen7,
GCC:    4.3.4

All the tests were the same as for Justin Piszcz. Some more filesystems were added.

Filesystems tested: ext2, ext3, ext4, ext4dev, reiserfs, reiser4, jfs, xfs, btrfs and ntfs (using ntfs-3g).

Note: ALL filesystems were created using their native, default values. The only options added to the command line was -y or similar options, to avoid any delays during fs creation. Therefore benchmark is not showing MY answering time :)

Tests carried out (J.Piszcz):
001] Create 10,000 files with touch in a directory.
002] Run 'find' on that directory.
003] Remove the directory.
004] Create 10,000 directories with mkdir in a directory.
005] Run 'find' on that directory.
006] Remove the directory containing the 10,000 directories.
007] Copy kernel tarball from other disk to test disk.
008] Copy kernel tarball from test disk to other disk.
009] Untar kernel tarball on the same disk.
010] Tar kernel tarball on the same disk.
011] Remove kernel source tree.
012] Copy kernel tarball 10 times.
013] Create 1GB file from /dev/zero.
014] Copy the 1GB file on the same disk.
015] Split a 10MB file into 1000/1024/2048/4096/8192 byte pieces.
016] Copy kernel source tree on the same disk.
017] Cat a 1GB file to /dev/null.
my addition:
018] Filesystem creation time.
019] Overall average comparision.

Results

All times are given in seconds. Some graphs are enlarged to allow a comparision between similar timings.

001] Create 10,000 files with touch in a directory.

002] Run 'find' on that directory.

003] Remove the directory.

Please note the scale of graphs.

004] Create 10,000 directories with mkdir in a directory.

005] Run 'find' on that directory.

006] Remove the directory containing the 10,000 directories.

007] Copy kernel tarball from other disk to test disk.

008] Copy kernel tarball from test disk to other disk.

009] Untar kernel tarball on the same disk.

010] Tar kernel tarball on the same disk.

011] Remove kernel source tree.

012] Copy kernel tarball 10 times.

013] Create 1GB file from /dev/zero.

014] Copy the 1GB file on the same disk.

015] Split a 10MB file into 1000/1024/2048/4096/8192 byte pieces.

Split by 1000

Split by 1024

Split by 2048

Split by 4096

Split by 8192

016] Copy kernel source tree on the same disk.

017] Cat a 1GB file to /dev/null.

 

 

NEW:

Filesystem creation time

 

Filesystem overall timings (time of all tests)

 

Filesystem overall timings (time of all tests, w/o fs creation time)

 

Closing words

Those tests are not related to J.Piszcz tests. They are independent and made just for comparision. I planned also to check btrfs and compare it with the others. For sure credits for J.Piszcz should be given for his work, and the whole idea is great.

The results presented above seem to be a bit tedious and biased. However I didn't want to prove that any particular filesystem is better than the other one. It was JUST A TEST. I've made it as plain as I can. I've had an unoccupied machine with not-so-important setup, so why not to make something. Also, please note that a real efficiency of NTFS is probably much better or just different than presented here. The slowdown can be caused because of fuse and ntfs-3g. I can't really prepare equal test procedure under windows, because there is no such command like find, or cat to /dev/null. So, any test of NTFS would be a bit uncomparable.

If you would like to make some comments or suggestions, feel free to contact me. Use my homepage.


 Uniwersytet Gdański -  Instytut Informatyki -  Piotr Arłukowicz -  TestFS
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.