Skip to content

Can Criterion measure things after doing a per-iteration setup? #8

@faern

Description

@faern

Currently we have one benchmark to measure the time it takes to create a channel and another one to measure how long it takes to create a channel plus send a message on it. Because the channel is consumed by the send we need a new channel for each iteration. But does Criterion allow doing a per-iteration setup and then start timing? Something like:

b.iter(|| {
    let (sender, _receiver) = oneshot::channel();
    // Start measure time here!
    sender.send(black_box(value_fn())).unwrap()
});

If not, does it allow pairing one benchmark with another and say that the result of one should be subtracted from the other before presenting it? 🤷

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions