Macro criterion::criterion_group

source ·
macro_rules! criterion_group {
    (name = $name:ident; config = $config:expr; targets = $( $target:path ),+ $(,)*) => { ... };
    ($name:ident, $( $target:path ),+ $(,)*) => { ... };
}
Available on non-crate feature codspeed only.
Expand description

Macro used to define a function group for the benchmark harness; see the criterion_main! macro for more details.

This is used to define a function group; a collection of functions to call with a common Criterion configuration. Accepts two forms which can be seen below.

Note that the group name given here is not important, it must simply be unique. Note also that this macro is not related to the Criterion::benchmark_group function or the BenchmarkGroup type.

§Examples:

Complete form:

criterion_group!{
    name = benches;
    config = Criterion::default();
    targets = bench_method1, bench_method2
}

In this form, all of the options are clearly spelled out. This expands to a function named benches, which uses the given config expression to create an instance of the Criterion struct. This is then passed by mutable reference to the targets.

Compact Form:

criterion_group!(benches, bench_method1, bench_method2);

In this form, the first parameter is the name of the group and subsequent parameters are the target methods. The Criterion struct will be created using the Criterion::default() function. If you wish to customize the configuration, use the complete form and provide your own configuration function.