Subject: Re: Benchmarking
To: None <current@freebsd.org, netbsd-users@NetBSD.org, stable@freebsd.org,>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: netbsd-users
Date: 04/07/2004 19:46:33
On Thu, Apr 08, 2004 at 12:12:05AM +0100, goteki wrote:
> On Wed, 07 Apr 2004 21:52:39 +0200
> Ivan Voras <ivoras@fer.hr> wrote:
>
> > I've finished the article on benchmarking FreeBSD, NetBSD, DragonflyBSD and
> > Linux, it is available at:
> >
> > http://alfredo.cc.fer.hr/
> >
> Why didn't you benchmarked netbsd-current?
Presumably because it is not a released version of the operating system;
though, in that context, benchmarking "DragonflyBSD" seems rather odd,
to say the least.
What is of much more concern to me, as someone who relies on high-quality
benchmark numbers to guide his role in OS development, is the poor
methodology of this study, particularly when compared to other recent
studies such as Felix von Leitner's (http://bulk.fefe.de/scalability). To
me, honestly, this benchmark is not so good, for a number of reasons.
Here are three of the most obvious ones:
1) The non-repeatability of results for some tests is merely mentioned
in passing, rather than investigated and explained.
2) Of particular concern is the omission of rows from large tables of
results because they were "too big" or "too small" to be interpreted
meaningfully. The willingness to accept such results, to me, means
that I should seriously question whether any attention was given to
appropriately sizing _any_ of the components of the benchmark so as
to actually measure what is purported to be measured.
2) The inclusion of tests which are intended to measure attributes of
*the underlying hardware* in what purports to be an OS benchmark
is indicative of poor benchmark design and analysis. In particular,
synthetic benchmarks that measure "CPU speed" or "memory bandwidth"
are wholly inappropriate in this context; the difference in results
indicates both the poor quality of those benchmarks for their actual
design purposes (though this is by now well-understood WRT many of
the tests in question) and that, in general, this benchmark suite as
a whole fails to adequately control (or even acknowledge) a number of
variables which may cause what it _actually_ measures to not be what
it _purports to measure_. Notable here are compiler, system state
at start of test and during test, and the general "entropy" which
results from performing even good tests at too small a size (iteration
count, memory footprint, etc).
In general, though the effort is good, I think overall this "benchmark"
shows more about how to not design an OS benchmark than it does about
the performance of _any_ of the underlying operating systems. Do note
that, actually, NetBSD did somewhat better on this test than we initially
did on Felix's -- I'm not slagging this test because we did poorly; in
fact, I'm not entirely displeased with how we did. The problem is that,
like so many other benchmarks, this one doesn't actually measure what it
claims to measure; and so, as an OS developer, it's not very useful to me.
Thor