There are some additional problems with the original disk I/O benchmarks,
beyond the truly egregious flaw which you already fixed:
- No "partial credit" is given for partly read or written blocks.
This results in greater variance and "plateaus" like you saw.
- The sample size is just right to fit in buffer cache on some
machines and to not fit on others
- Sync() is not called very effectively between calls.
I attempted to address all these issues. I also did major revisious to
the scoring algorithm and rebaselined it at 10.0 for a SPARCstation 20/61
running Solaris 2.3 with a SPARC Storage Array (yes, many PCs running
Linux are still a lot faster than the baseline).
Anyway, if anyone is interested in my "fixed" version, please take a look
at:
ftp://wauug.erols.com/pub/bench/unixbench-4.0-DELTA.tgz
Niemi@wauug.erols.com 703-810-5538 Reston, Virginia, USA
------ Money talks, but it is wrong half of the time. -----