pub enum PreflightSeverity {
Informational,
ResultUndermining,
}Expand description
Severity of a preflight warning.
This distinction is critical for interpreting results:
-
Informational: Affects sampling efficiency but not result validity. The Bayesian posterior is still trustworthy; you just needed more samples to reach the same confidence level. Examples: high autocorrelation, coarse timer resolution, suboptimal CPU governor.
-
ResultUndermining: Violates statistical assumptions the Bayesian model relies on. The posterior confidence may be misplaced because the model’s assumptions don’t hold. Examples: non-monotonic timer (measurements are garbage), severe non-stationarity (distribution changed during measurement), broken harness with mutable state (Fixed-vs-Fixed inconsistency).
Variants§
Informational
Sampling efficiency issue - doesn’t invalidate results.
These warnings indicate that the measurement setup is suboptimal and required more samples to reach a conclusion, but the Bayesian posterior is still valid. The result can be trusted.
Examples:
- High autocorrelation (reduces effective sample size)
- Coarse timer resolution (requires more samples)
- Suboptimal CPU governor (adds variance)
- Generator cost asymmetry (may inflate differences but doesn’t invalidate)
ResultUndermining
Statistical assumption violation - undermines result confidence.
These warnings indicate that fundamental assumptions of the Bayesian model may be violated. Even if the posterior appears confident, that confidence may be misplaced.
Examples:
- Non-monotonic timer (measurements are meaningless)
- Severe non-stationarity (distribution changed during measurement)
- Fixed-vs-Fixed inconsistency with randomization (likely mutable state bug)
Trait Implementations§
Source§impl Clone for PreflightSeverity
impl Clone for PreflightSeverity
Source§fn clone(&self) -> PreflightSeverity
fn clone(&self) -> PreflightSeverity
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PreflightSeverity
impl Debug for PreflightSeverity
Source§impl<'de> Deserialize<'de> for PreflightSeverity
impl<'de> Deserialize<'de> for PreflightSeverity
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>,
Source§impl PartialEq for PreflightSeverity
impl PartialEq for PreflightSeverity
Source§impl Serialize for PreflightSeverity
impl Serialize for PreflightSeverity
impl Copy for PreflightSeverity
impl Eq for PreflightSeverity
impl StructuralPartialEq for PreflightSeverity
Auto Trait Implementations§
impl Freeze for PreflightSeverity
impl RefUnwindSafe for PreflightSeverity
impl Send for PreflightSeverity
impl Sync for PreflightSeverity
impl Unpin for PreflightSeverity
impl UnwindSafe for PreflightSeverity
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.