Skip to main content

ConfiguredRun

Struct ConfiguredRun 

Source
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,

Source

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,

Source

pub fn execute_criterion_on( &self, pool: &mut ThreadPool, group: &mut BenchmarkGroup<'_, WallTime>, name: &str, ) -> Vec<MeasureOutput>

Available on crate features 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,

Source§

fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.