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§
Sourcefn validate(
&mut self,
reference: usize,
candidate: usize,
tolerance: Tolerance,
) -> Result<Validation, TuneFailure>
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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".