1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! Statistics Computation
//!
//! Parallel computation of summary statistics for benchmark results.
//!
//! Uses Rayon to parallelize statistics computation across benchmarks.
//! Each benchmark's samples are processed independently to compute:
//! - Central tendency (mean, median)
//! - Dispersion (std dev, min, max)
//! - Percentiles (p50, p90, p95, p99, p999)
//! - Outlier detection via IQR method
use ;
use ;
use *;
/// Compute statistics for benchmark results (parallelized with Rayon)
///
/// Uses Rayon for parallel computation of summary statistics across all benchmarks.
/// Each benchmark's samples are independently processed, making this highly parallelizable.
///
/// # Arguments
/// * `results` - Benchmark execution results containing samples
/// * `_config` - Execution configuration. Currently unused but reserved for future
/// extensions such as configurable outlier detection methods, custom percentile
/// thresholds, or alternative statistical algorithms.
///
/// # Returns
/// Vector of (benchmark_id, optional statistics) pairs. Returns `None` for benchmarks
/// with no samples (e.g., crashed or skipped benchmarks).