>> 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
