
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, <http://lists.boost.org/boost-announce/2007/02/0114.php> The only version I could find was that in the vault, <http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=accumulators.zip&directory=Math%20-%20Numerics&> 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 implementor. 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 :) Thanks, Jamie