From: Jamie Allsop (ja11sop_at_[hidden])
Date: 2007-12-29 15:40:34
I recently had a need for some simple statistical analysis of
performance data and thought rather than sit down and write my own
functions for mean, variance etc. I'd take the time to learn and use the
Accumulators library that was accepted into boost on February the 19th
of this year,
The only version I could find was that in the vault,
This appears to have been updated last on 21.09.2007 03:32.
The first thing I am wondering is why this library is not in TRUNK now
that it is a part of boost?
Secondly I thought I'd comment briefly on something that I noticed came
up during review but has (as yet) not been addressed in the vault
version. I too assumed that using boost::accumulators::tag::variance
would return a useful value for variance, unfortunately it returned (in
my case) what appeared to be an erroneous negative value. The
'immediate_' form worked ok.
My comment would be that after reading the review there was some debate
about providing a naive implementation. My thought after spending time
reading the reviews and browsing the code to try to figure out what was
happening was that, if I wanted a naive implementation, I could provide
that easily myself. However I turned to the library to
a) save me writing and maintaining the code, and
b) to enjoy a well thought out implementation by a domain knowledgeable
I therefore think that the natural choices should be accurate
implementations. If I know enough about my data to realise I can get
away with a naive implementation that sacrifices accuracy (perhaps for
performance reasons) then I can select one purposefully.
My first experience with the accumulators library was a mixed bag, but I
have not used it enough to really form too many opinions on it. I
suppose when I initially looked at it I thought I would have access to
statistical algorithms that I could apply to my data, but in fact it
works differently than that (and I am sure there was a good reason for
that approach). I'll have to revisit the doc to see if I can find
understand the motivation better. It works well as it is mind you.
Beyond that the library appears useful and I look forward to making more
use of it.
I'd be very interested in seeing a newer version of the library that
addresses the many points highlighted during the review or at least know
that the library is currently being tidied up and will make into a boost
release soon :)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk