pub struct Summary {
pub n: usize,
pub outliers_rejected: usize,
pub median_ms: f64,
pub ci95_lo_ms: f64,
pub ci95_hi_ms: f64,
pub min_ms: f64,
pub max_ms: f64,
pub mean_ms: f64,
}Expand description
A candidate’s timings, reduced to what a decision needs.
The interval is the point. Two configurations whose 95% CIs overlap are
reported indistinguishable and never ranked against each other
(docs/BENCHMARKING.md), because a tool that puts a winner’s name on
measurement noise is worse than one that says it cannot tell.
Fields§
§n: usizeSamples kept after outlier rejection.
outliers_rejected: usizeSamples dropped by the Tukey fences, NaNs among them.
median_ms: f64Median of the kept samples — the statistic everything ranks on, chosen over the mean because a single descheduled launch should not move it.
ci95_lo_ms: f64Distribution-free 95% CI on the median (order statistics).
ci95_hi_ms: f64Upper bound of that interval.
min_ms: f64Fastest kept sample.
max_ms: f64Slowest kept sample.
mean_ms: f64Mean of the kept samples. Reported for context; nothing ranks on it.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Summary
impl<'de> Deserialize<'de> for Summary
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Summary
Auto Trait Implementations§
impl Freeze for Summary
impl RefUnwindSafe for Summary
impl Send for Summary
impl Sync for Summary
impl Unpin for Summary
impl UnsafeUnpin for Summary
impl UnwindSafe for Summary
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