pub trait Benchmark: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn description(&self) -> &str;
fn setup(&mut self) -> Result<()>;
fn run(&mut self, backend: &Backend) -> Result<BenchmarkRunResult>;
fn cleanup(&mut self) -> Result<()>;
fn expected_scaling(&self) -> ScalingType;
fn category(&self) -> BenchmarkCategory;
}Expand description
Benchmark trait
Required Methods§
Sourcefn description(&self) -> &str
fn description(&self) -> &str
Get benchmark description
Sourcefn run(&mut self, backend: &Backend) -> Result<BenchmarkRunResult>
fn run(&mut self, backend: &Backend) -> Result<BenchmarkRunResult>
Run single benchmark iteration
Sourcefn expected_scaling(&self) -> ScalingType
fn expected_scaling(&self) -> ScalingType
Get expected scaling behavior
Sourcefn category(&self) -> BenchmarkCategory
fn category(&self) -> BenchmarkCategory
Get benchmark category