On Wed, Oct 23, 2013 at 3:26 PM, Peter Geoghegan <pg@heroku.com> wrote:
On Wed, Oct 23, 2013 at 2:57 PM, Gavin Flower <GavinFlower@archidevsys.co.nz> wrote: > Looks definitely bimodal in the log version, very clear! > > Yes, I feel that having a 32 log binary binned histogram (as Alvaro Herrera > suggested) would be very useful.
I'm having a hard time imagining how you'd actually implement that. For example, this:
requires that a "limit" be specified ahead of time. Is there a principled way to increase or decrease this kind of limit over time, and have the new buckets contents "spill into each other"?
If you are doing a log scale in the bucket widths, 32 buckets covers a huge range, so I think you could get away without having the ability to rescale at all. For example just have the bottom bucket mean <=1ms, and the top bucket mean > 12.42 days (rather than between 12.42 and 24.85 days). But it should be possible to rescale if you really want to. If a bucket >32 is needed, just add bucket[2] into bucket[1], slide buckets 3..32 down one each, and initialize a new bucket 32, and bump the factor that says how many times this shift has been done before.