Skip to main content

TrialRunner

Trait TrialRunner 

Source
pub trait TrialRunner {
    // Required methods
    fn validate(
        &mut self,
        reference: usize,
        candidate: usize,
        tolerance: Tolerance,
    ) -> Result<Validation, TuneFailure>;
    fn measure(&mut self, candidate: usize) -> Result<Duration, TuneFailure>;
}
Expand description

Benchmarks MUST use isolated state. A completed measurement includes all device work whose cost belongs to the plan. A submit-only host timestamp is not a valid measurement.

Required Methods§

Source

fn validate( &mut self, reference: usize, candidate: usize, tolerance: Tolerance, ) -> Result<Validation, TuneFailure>

Compare isolated outputs for the candidate indices supplied to select. Unsupported comparison returns Validation::Unsupported; wrong output or unconfirmed completion returns an appropriate failure instead.

Source

fn measure(&mut self, candidate: usize) -> Result<Duration, TuneFailure>

Return nonzero completed-work duration for an isolated candidate trial. Stateful requests must not be advanced by measuring their live state.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§