pub struct ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,{ /* private fields */ }Expand description
A fully configured benchmark run, ready to be executed.
Implementations§
Source§impl<ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> ConfiguredRun<'_, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
impl<ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> ConfiguredRun<'_, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
Sourcepub fn execute_on(
&self,
pool: &mut ThreadPool,
iterations: u64,
) -> RunSummary<MeasureOutput>
pub fn execute_on( &self, pool: &mut ThreadPool, iterations: u64, ) -> RunSummary<MeasureOutput>
Executes the benchmark run on the specified thread pool for a specific number of iterations, returning the result.
If you are executing the benchmark in a Criterion context, you may find it more convenient
to use execute_criterion_on().
§Panics
Panics if the thread pool’s processor count is not divisible by the number of groups the run is configured for.
Source§impl<ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> ConfiguredRun<'_, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
impl<ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> ConfiguredRun<'_, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
Sourcepub fn execute_criterion_on(
&self,
pool: &mut ThreadPool,
group: &mut BenchmarkGroup<'_, WallTime>,
name: &str,
) -> Vec<MeasureOutput>
Available on crate features criterion only.
pub fn execute_criterion_on( &self, pool: &mut ThreadPool, group: &mut BenchmarkGroup<'_, WallTime>, name: &str, ) -> Vec<MeasureOutput>
criterion only.Executes the benchmark run one or more times as part of a Criterion benchmark group, recording the result with Criterion.
The number of iterations is determined by Criterion and the run is repeated as many times as Criterion decides is appropriate to collect the desired data.
§Panics
Panics if the thread pool’s processor count is not divisible by the number of groups the run is configured for.
Trait Implementations§
Source§impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Debug for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Debug for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
MeasureOutput: Send + 'static,
Auto Trait Implementations§
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> !RefUnwindSafe for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> !UnwindSafe for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Freeze for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
Box<dyn Fn(PrepareThread<'_>) -> ThreadState + Send + Sync + 'a>: Freeze,
Box<dyn Fn(PrepareIter<'_, ThreadState>) -> IterState + Send + Sync + 'a>: Freeze,
Box<dyn Fn(MeasureWrapperBegin<'_, ThreadState>) -> MeasureWrapperState + Send + Sync + 'a>: Freeze,
Box<dyn Fn(MeasureWrapperState) -> MeasureOutput + Send + Sync + 'a>: Freeze,
Box<dyn Fn(Iter<'_, ThreadState, IterState>) -> CleanupState + Send + Sync + 'a>: Freeze,
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Send for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
Box<dyn Fn(PrepareThread<'_>) -> ThreadState + Send + Sync + 'a>: Send,
Box<dyn Fn(PrepareIter<'_, ThreadState>) -> IterState + Send + Sync + 'a>: Send,
Box<dyn Fn(MeasureWrapperBegin<'_, ThreadState>) -> MeasureWrapperState + Send + Sync + 'a>: Send,
Box<dyn Fn(MeasureWrapperState) -> MeasureOutput + Send + Sync + 'a>: Send,
Box<dyn Fn(Iter<'_, ThreadState, IterState>) -> CleanupState + Send + Sync + 'a>: Send,
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Sync for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
Box<dyn Fn(PrepareThread<'_>) -> ThreadState + Send + Sync + 'a>: Sync,
Box<dyn Fn(PrepareIter<'_, ThreadState>) -> IterState + Send + Sync + 'a>: Sync,
Box<dyn Fn(MeasureWrapperBegin<'_, ThreadState>) -> MeasureWrapperState + Send + Sync + 'a>: Sync,
Box<dyn Fn(MeasureWrapperState) -> MeasureOutput + Send + Sync + 'a>: Sync,
Box<dyn Fn(Iter<'_, ThreadState, IterState>) -> CleanupState + Send + Sync + 'a>: Sync,
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> Unpin for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
Box<dyn Fn(PrepareThread<'_>) -> ThreadState + Send + Sync + 'a>: Unpin,
Box<dyn Fn(PrepareIter<'_, ThreadState>) -> IterState + Send + Sync + 'a>: Unpin,
Box<dyn Fn(MeasureWrapperBegin<'_, ThreadState>) -> MeasureWrapperState + Send + Sync + 'a>: Unpin,
Box<dyn Fn(MeasureWrapperState) -> MeasureOutput + Send + Sync + 'a>: Unpin,
Box<dyn Fn(Iter<'_, ThreadState, IterState>) -> CleanupState + Send + Sync + 'a>: Unpin,
impl<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState> UnsafeUnpin for ConfiguredRun<'a, ThreadState, IterState, MeasureWrapperState, MeasureOutput, CleanupState>where
Box<dyn Fn(PrepareThread<'_>) -> ThreadState + Send + Sync + 'a>: UnsafeUnpin,
Box<dyn Fn(PrepareIter<'_, ThreadState>) -> IterState + Send + Sync + 'a>: UnsafeUnpin,
Box<dyn Fn(MeasureWrapperBegin<'_, ThreadState>) -> MeasureWrapperState + Send + Sync + 'a>: UnsafeUnpin,
Box<dyn Fn(MeasureWrapperState) -> MeasureOutput + Send + Sync + 'a>: UnsafeUnpin,
Box<dyn Fn(Iter<'_, ThreadState, IterState>) -> CleanupState + Send + Sync + 'a>: UnsafeUnpin,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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