nofib comparisons between 7.0.4, 7.4.2, 7.6.1, and 7.6.2

Simon Marlow marlowsd at gmail.com
Wed Feb 6 21:50:16 CET 2013


On 06/02/13 16:04, Johan Tibell wrote:
> On Wed, Feb 6, 2013 at 2:09 AM, Simon Marlow <marlowsd at gmail.com
> <mailto:marlowsd at gmail.com>> wrote:
>
>     This is slightly off topic, but I wanted to plant this thought in
>     people's brains: we shouldn't place much significance in the average
>     of a bunch of benchmarks (even the geometric mean), because it
>     assumes that the benchmarks have a sensible distribution, and we
>     have no reason to expect that to be the case.  For example, in the
>     results above, we wouldn't expect a 14.7% reduction in runtime to be
>     seen in a typical program.
>
>     Using the median might be slightly more useful, which here would be
>     something around 0% for runtime, though still technically dodgy.
>       When I get around to it I'll modify nofib-analyse to report
>     medians instead of GMs.
>
>
> Using the geometric mean as a way to summarize the results isn't that
> bad. See "How not to lie with statistics: the correct way to summarize
> benchmark results"
> (http://ece.uprm.edu/~nayda/Courses/Icom6115F06/Papers/paper4.pdf).

Yes - our current usage of GM is because we read that paper :)  I've 
reported GMs of nofib programs in several papers.  I'm not saying the 
paper is wrong - the GM is definitely more correct than the AM for 
averaging normalised results.

The problem is that we're attributing equal weight to all of our 
benchmarks, without any reason to expect that they are representative. 
We collect as many benchmarks as we can and hope they are 
representative, but in fact it's rarely the case: often a particular 
optimisation or regression will hit just one or two benchmarks.  So all 
I'm saying is that we shouldn't expect the GM to be representative. 
Often there's no sensible mean at all - saying "some programs get a lot 
better but most don't change" is far more informative than "on average 
programs got faster by 1.2%".

> That being said, I think the most useful thing to do is to look at the
> big losers, as they're often regressions. Making some class of programs
> much worse is but improving the geometric mean overall is often worse
> than changing nothing at all.

Absolutely.

Cheers,
	Simon




More information about the ghc-devs mailing list