pub struct PercentileEstimator { /* private fields */ }Expand description
P² algorithm for online quantile estimation with O(1) memory per quantile.
Estimates a specific percentile p (0 < p < 1) without storing
individual samples. After at least 5 observations the estimate is
maintained via the P² marker update rule.
Accuracy is typically within a few percent for stationary distributions with thousands of samples.
§References
Jain, R., & Chlamtac, I. (1985). The P² algorithm for dynamic calculation of quantiles and histograms without storing observations. Communications of the ACM, 28(10), 1076–1085.
Implementations§
Trait Implementations§
Source§impl Clone for PercentileEstimator
impl Clone for PercentileEstimator
Source§fn clone(&self) -> PercentileEstimator
fn clone(&self) -> PercentileEstimator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PercentileEstimator
impl RefUnwindSafe for PercentileEstimator
impl Send for PercentileEstimator
impl Sync for PercentileEstimator
impl Unpin for PercentileEstimator
impl UnsafeUnpin for PercentileEstimator
impl UnwindSafe for PercentileEstimator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more