[][src]Struct criterion::BenchmarkId

pub struct BenchmarkId { /* fields omitted */ }

Simple structure representing an ID for a benchmark. The ID must be unique within a benchmark group.


impl BenchmarkId[src]

pub fn new<S: Into<String>, P: Display>(
    function_name: S,
    parameter: P
) -> BenchmarkId

Construct a new benchmark ID from a string function name and a parameter value.

Note that the parameter value need not be the same as the parameter passed to your actual benchmark. For instance, you might have a benchmark that takes a 1MB string as input. It would be impractical to embed the whole string in the benchmark ID, so instead your parameter value might be a descriptive string like "1MB Alphanumeric".


// A basic benchmark ID is typically constructed from a constant string and a simple
// parameter
let basic_id = BenchmarkId::new("my_id", 5);

// The function name can be a string
let function_name = "test_string".to_string();
let string_id = BenchmarkId::new(function_name, 12);

// Benchmark IDs are passed to benchmark groups:
let mut criterion = Criterion::default();
let mut group = criterion.benchmark_group("My Group");
// Generate a very large input
let input : String = ::std::iter::repeat("X").take(1024 * 1024).collect();

// Note that we don't have to use the input as the parameter in the ID
group.bench_with_input(BenchmarkId::new("Test long string", "1MB X's"), &input, |b, i| {
    b.iter(|| i.len())

pub fn from_parameter<P: Display>(parameter: P) -> BenchmarkId[src]

Construct a new benchmark ID from just a parameter value. Use this when benchmarking a single function with a variety of different inputs.

Trait Implementations

impl Clone for BenchmarkId[src]

impl Eq for BenchmarkId[src]

impl Hash for BenchmarkId[src]

impl PartialEq<BenchmarkId> for BenchmarkId[src]

impl StructuralEq for BenchmarkId[src]

impl StructuralPartialEq for BenchmarkId[src]

Auto Trait Implementations

impl RefUnwindSafe for BenchmarkId

impl Send for BenchmarkId

impl Sync for BenchmarkId

impl Unpin for BenchmarkId

impl UnwindSafe for BenchmarkId

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

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

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

impl<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.