Benchmark

Trait Benchmark 

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

Source

fn name(&self) -> &str

Get benchmark name

Source

fn description(&self) -> &str

Get benchmark description

Source

fn setup(&mut self) -> Result<()>

Setup benchmark (called once before all runs)

Source

fn run(&mut self, backend: &Backend) -> Result<BenchmarkRunResult>

Run single benchmark iteration

Source

fn cleanup(&mut self) -> Result<()>

Cleanup after benchmark

Source

fn expected_scaling(&self) -> ScalingType

Get expected scaling behavior

Source

fn category(&self) -> BenchmarkCategory

Get benchmark category

Implementors§