[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

A small DIY test for 2.4.7 and 0.9.4

Hello all.

I am using plain 2.4.7 with ext3-2.4-0.9.4-247,
compiled with gcc-2.96-85 on a RH7.1 distribution with the relevant
changes, i.e. e2fsprogs-1.22-1, mount-2.11g-4 and
util-linux-2.11f-3 taken from rawhide.

I am using sometimes my /usr/local partition for ext3 testing:

/dev/hdc2              3842408    738176   2909044  21% /usr/local

For my DIY testing, I am timing this trivial script which
copies, decompresses and deletes the compressed source 2.2.17
kernel of 17563583 bytes (17M). The source partition

/dev/hdc4               885468    792616     47872  95% /incoming

is on the same disk.

#! /bin/bash
time cp /incoming/linux-2.2.17.tar.gz .
time tar -zxf linux-2.2.17.tar.gz
time rm -rf linux
time rm -f linux-2.2.17.tar.gz

The relevant harware:

AMD Athlon 1.2 GHz, 512M ram,
hdc: IBM-DJNA-371350, ATA DISK drive
hda: 40132503 sectors (20548 MB) w/1900KiB Cache, CHS=2498/255/63,
hdc: 26520480 sectors (13578 MB) w/1966KiB Cache, CHS=26310/16/63,

The typical timing results for ext2:

time ./test.sh

real    0m0.159s
user    0m0.000s  copying
sys     0m0.140s

real    0m2.129s
user    0m1.420s  decompressing and writing
sys     0m0.690s

real    0m0.127s
user    0m0.000s  deleting tree
sys     0m0.130s

real    0m0.016s
user    0m0.000s  removing source file
sys     0m0.010s

real    0m2.439s
user    0m1.430s  total elapsed
sys     0m0.970s

i.e. a total of about 2.5" for the whole procedure.

Now, for ext3 mounted with default parameters, i.e. data=ordered:

time ./test.sh

real    0m0.216s
user    0m0.000s  copying
sys     0m0.220s

real    0m3.008s
user    0m1.530s  decompressing and writing
sys     0m1.030s

real    0m7.658s
user    0m0.020s  deleting tree
sys     0m0.260s

real    0m0.026s
user    0m0.000s  removing source file
sys     0m0.020s

real    0m10.916s
user    0m1.550s  total elapsed
sys     0m1.530s

as you can see, the huge difference is probably due to the
fact that, since the journalling mechanism starts a new transaction
every 5", there is a good pribability of hitting a new transaction
during the decompression. I'm not an expert, just a user.

Resorting to data=writeback the total timing is around 3", quite close
to ext2 timings.

time ./test.sh

real    0m0.186s
user    0m0.000s  copying
sys     0m0.190s

real    0m2.528s
user    0m1.510s  decompressing and writing
sys     0m0.950s

real    0m0.264s
user    0m0.020s  deleting tree
sys     0m0.230s

real    0m0.021s
user    0m0.000s  removing source file
sys     0m0.010s

real    0m3.006s
user    0m1.530s  total elapsed
sys     0m1.380s

In my opinion, if you're not working on large files, something
of the order of, say, 50-100M on a modern machine (i.e. how much you
write in less than about 5") perhaps you'll gain a lot by mounting
data=writeback .

Comments? I hope my small test could be useful.

Sicnerely, Nicola Fabiano

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]