Skip to main content

fluxbench_stats/
lib.rs

1#![warn(missing_docs)]
2//! FluxBench Statistical Engine
3//!
4//! Provides robust statistical analysis for benchmark results including:
5//! - Bootstrap resampling with BCa (Bias-Corrected and Accelerated) intervals
6//! - Outlier detection via IQR method
7//! - Percentile calculation preserving tail latency signals
8//! - Distribution characterization
9//! - A/B comparison with effect size and probability of regression
10
11mod bootstrap;
12mod comparison;
13mod outliers;
14mod percentiles;
15mod summary;
16
17pub use bootstrap::{
18    BootstrapConfig, BootstrapMethod, BootstrapResult, ConfidenceInterval, compute_bootstrap,
19};
20pub use comparison::{
21    ComparisonConfig, ComparisonError, ComparisonResult, EffectInterpretation,
22    compare_distributions,
23};
24pub use outliers::{OutlierAnalysis, OutlierMethod, detect_outliers};
25pub use percentiles::{Percentiles, compute_percentile, compute_percentiles};
26pub use summary::{CyclesStatistics, SummaryStatistics, compute_cycles_stats, compute_summary};
27
28/// Threshold below which BCa method is used instead of percentile
29pub const BCA_THRESHOLD: usize = 100;
30
31/// Default number of bootstrap iterations
32pub const DEFAULT_BOOTSTRAP_ITERATIONS: usize = 100_000;
33
34/// Default confidence level (95%)
35pub const DEFAULT_CONFIDENCE_LEVEL: f64 = 0.95;
36
37#[cfg(test)]
38mod tests {
39    use super::*;
40
41    #[test]
42    fn test_constants() {
43        assert_eq!(BCA_THRESHOLD, 100);
44        assert_eq!(DEFAULT_BOOTSTRAP_ITERATIONS, 100_000);
45        assert!((DEFAULT_CONFIDENCE_LEVEL - 0.95).abs() < f64::EPSILON);
46    }
47}