Lies and Damn Lies

Various Benchmarks I've done

Filesystems

Summary

Reiser can do really well, with a lot of threads. ZFS does really well with one thread. Solaris doesn't handles lots of threads well at all.

The benchmark spawn N threads. Each one creates, writes 200k to, reads 200k from, or deletes files. The measurement is the total number of operations (create, read, write, unlink) per second spread out among all the threads.

To force disk io, fsync() is called after create and write.

If a run uses extended attributes, 4 extended attributes are set on the file via one syscall. They are never read. Looking at the more detailed timings, using exteded attributes makes open() and unlink() slower. It's not just the time required to call attr_multif(). On Solaris, I'm just using one ADS attribute and putting all 4 values in it. Extended attributes on Solaris are clinically insane.