>> Is a port of lmbench considered a modified benchmark?
>> I understand you cannot publish results saying it´s the output
>> of lmbench if you changed the bechmark, but only because you
>> used a ported one...?
>> 
>> Funny in any case.
> 
> you're also not allowed to publish partial results.  they have
> really overthought things.  they are worried that someone
> will try to look better than they are by publishing partial results.
> 
> - erik

Apparently he also didn't want companies (read: Sun) rewriting portions
of the benchmark to make their software/hardware look better.
Since Plan 9 doesn't have sockets or the bzero call or a number of other
things that you'll find on Unix, I had to do some rewriting. I made
sure to accomplish the same tasks as on Unix, but in some cases more
than others I had to do a lot of changing. The timing code should
still be pretty much the same, although I added a little to include
counting of clock cycles (approximate). The pipe bandwidth test, if
I remember correctly, took basically no changes to port (I think I
had to change sprintf to sprint or something like that), but others,
like the networking ones, required that I essentially cut out the
majority of the tests and replace them with a Plan 9 equivalent. If
anyone is running these and finds a test that has the wrong behavior,
please let me know so I can fix it.

As for the utility of the benchmarks, come on. I know there are people
on this list who write kernel code (hmm, I seem to recall somebody
on here who does a lot of work on networking drivers...) and they
may find it useful to get these kinds of measurements to see if
changes have improved performance. Besides, there's nothing to stop you
from running the benchmarks on Linux and Plan 9 and comparing (for
yourself) the difference in performance--you just can't try for
e-cred by posting your results on comp.os.linux (hint: the
comparisons don't come out very favorably for Plan 9 anyway).

Oh, and if anybody ever wants to see the Macros From Hell, just take
a look at bench.h for BENCH0, BENCH, BENCH1, and BENCH-INNER.
(disclaimer: I didn't write those)


John


Reply via email to