LivePercentiles is an experiment aimed at comparing different ways of computing percentiles on the fly. The current version implements two basic a posteriori methods (that store the data) and two live methods (that compute the percentiles as they go).
Those methods store all the provided data and compute the percentiles at the end, they are only meant for comparison and are very inefficient in their memory usage.
This method is taken from Wikipedia's percentiles page and is used as a reference for comparisons.
This method is also taken from Wikipedia's basic methods and is used as another reference implementation
This calculation method is taken from [The P² algorithm for dynamic calculation of quantile and histograms without storing observations. by R. Jain and I. Chlamtac.
]. It estimates the value of a given unique percentile using very little memory (<300 bytes).
This calculation method is also taken from Jain and Chlamtac paper, it estimates a range of percentiles given a number of buckets (<300 bytes too).
- Comparison between the different methods using different data distributions (other than unit tests)
- Comparison with existing libraries (HdrHistogram, etc.)
- More live methods