pub struct AdvancedBenchmarkRunner {
pub config: BenchmarkConfig,
pub history: BenchmarkHistory,
pub analyzer: RegressionAnalyzer,
pub baselines: HashMap<String, PerformanceBaseline>,
}Expand description
Advanced benchmark runner with regression detection
Tracks performance metrics over time and detects statistical anomalies and performance regressions automatically.
Fields§
§config: BenchmarkConfigConfiguration for benchmarking
history: BenchmarkHistoryHistorical benchmark results
analyzer: RegressionAnalyzerStatistical analyzer for detecting regressions
baselines: HashMap<String, PerformanceBaseline>Performance baselines
Implementations§
Source§impl AdvancedBenchmarkRunner
impl AdvancedBenchmarkRunner
Sourcepub fn with_config(config: BenchmarkConfig) -> Self
pub fn with_config(config: BenchmarkConfig) -> Self
Create a runner with custom configuration
Sourcepub fn run_benchmark<F>(
&mut self,
name: &str,
benchmark_fn: F,
) -> Result<BenchmarkResult>where
F: FnMut(),
pub fn run_benchmark<F>(
&mut self,
name: &str,
benchmark_fn: F,
) -> Result<BenchmarkResult>where
F: FnMut(),
Run a benchmark and analyze results
Sourcepub fn set_baseline(&mut self, name: String, duration: Duration)
pub fn set_baseline(&mut self, name: String, duration: Duration)
Set a performance baseline
Sourcepub fn get_regressions(&self) -> &[RegressionReport]
pub fn get_regressions(&self) -> &[RegressionReport]
Get all detected regressions
Sourcepub fn generate_report(&self) -> BenchmarkReport
pub fn generate_report(&self) -> BenchmarkReport
Generate comprehensive benchmark report
Trait Implementations§
Source§impl Debug for AdvancedBenchmarkRunner
impl Debug for AdvancedBenchmarkRunner
Auto Trait Implementations§
impl Freeze for AdvancedBenchmarkRunner
impl RefUnwindSafe for AdvancedBenchmarkRunner
impl Send for AdvancedBenchmarkRunner
impl Sync for AdvancedBenchmarkRunner
impl Unpin for AdvancedBenchmarkRunner
impl UnwindSafe for AdvancedBenchmarkRunner
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> 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