pub struct BenchmarkConfig {
pub strategies: HashSet<OptimizationStrategy>,
pub sample_sizes: Vec<usize>,
pub warmup_iterations: usize,
pub measurement_iterations: usize,
pub measurement_time: Duration,
pub min_duration: Duration,
pub max_duration: Duration,
pub confidence_level: f64,
pub max_cv: f64,
pub enable_profiling: bool,
pub enable_memory_tracking: bool,
pub tags: Vec<String>,
}Expand description
Benchmark configuration
Fields§
§strategies: HashSet<OptimizationStrategy>Optimization strategies to benchmark
sample_sizes: Vec<usize>Sample sizes for benchmarking
warmup_iterations: usizeNumber of warmup iterations
measurement_iterations: usizeNumber of measurement iterations
measurement_time: DurationTarget measurement time
min_duration: DurationMinimum duration for each measurement
max_duration: DurationMaximum duration for each measurement
confidence_level: f64Confidence level for statistical analysis (e.g., 0.95 for 95%)
max_cv: f64Maximum acceptable coefficient of variation
enable_profiling: boolEnable detailed profiling
enable_memory_tracking: boolEnable memory tracking
Custom tags for benchmark categorization
Implementations§
Source§impl BenchmarkConfig
impl BenchmarkConfig
Sourcepub fn with_warmup_iterations(self, iterations: usize) -> Self
pub fn with_warmup_iterations(self, iterations: usize) -> Self
Set warmup iterations
Sourcepub fn with_measurement_iterations(self, iterations: usize) -> Self
pub fn with_measurement_iterations(self, iterations: usize) -> Self
Set measurement iterations
Sourcepub fn with_measurement_time(self, time: Duration) -> Self
pub fn with_measurement_time(self, time: Duration) -> Self
Set measurement time
Sourcepub fn with_min_duration(self, duration: Duration) -> Self
pub fn with_min_duration(self, duration: Duration) -> Self
Set minimum duration
Sourcepub fn with_max_duration(self, duration: Duration) -> Self
pub fn with_max_duration(self, duration: Duration) -> Self
Set maximum duration
Sourcepub fn with_confidence_level(self, level: f64) -> Self
pub fn with_confidence_level(self, level: f64) -> Self
Set confidence level
Sourcepub fn with_max_cv(self, cv: f64) -> Self
pub fn with_max_cv(self, cv: f64) -> Self
Set maximum coefficient of variation
Sourcepub fn with_profiling(self, enabled: bool) -> Self
pub fn with_profiling(self, enabled: bool) -> Self
Enable profiling
Sourcepub fn with_memory_tracking(self, enabled: bool) -> Self
pub fn with_memory_tracking(self, enabled: bool) -> Self
Enable memory tracking
Add tags
Sourcepub fn with_strategies(self, strategies: HashSet<OptimizationStrategy>) -> Self
pub fn with_strategies(self, strategies: HashSet<OptimizationStrategy>) -> Self
Set strategies
Sourcepub fn with_strategy(self, strategy: OptimizationStrategy) -> Self
pub fn with_strategy(self, strategy: OptimizationStrategy) -> Self
Add a single strategy
Sourcepub fn with_sample_sizes(self, sample_sizes: Vec<usize>) -> Self
pub fn with_sample_sizes(self, sample_sizes: Vec<usize>) -> Self
Set sample sizes
Trait Implementations§
Source§impl Clone for BenchmarkConfig
impl Clone for BenchmarkConfig
Source§fn clone(&self) -> BenchmarkConfig
fn clone(&self) -> BenchmarkConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BenchmarkConfig
impl Debug for BenchmarkConfig
Auto Trait Implementations§
impl Freeze for BenchmarkConfig
impl RefUnwindSafe for BenchmarkConfig
impl Send for BenchmarkConfig
impl Sync for BenchmarkConfig
impl Unpin for BenchmarkConfig
impl UnwindSafe for BenchmarkConfig
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.