macro_rules! criterion_group { (name = $name:ident; config = $config:expr; targets = $( $target:path ),+ $(,)*) => { ... }; ($name:ident, $( $target:path ),+ $(,)*) => { ... }; }
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.