Skip to content

Releases: CodSpeedHQ/codspeed-rust

v5.0.0

23 Jun 12:50
v5.0.0
9339a52

Choose a tag to compare

💥 BREAKING

MSRV bumped to 1.85 for all packages: codspeed, codspeed-criterion-compat, codspeed-divan-compat

What's Changed

This release includes a fix for benchmark URI generation when users do not use the provided macros to declare their criterion main function.

  • fix(criterion-compat): fix URI formatting when criterion_group!/criterion_main! are bypassed by @not-matthias in #169
  • Fix lower bound of cc crate by @konstin in #182
  • Update colored dep by @rukai in #142
  • update getrandom to 0.4 by @Ludea in #177

New Contributors

Full Changelog: v4.7.0...v5.0.0

v4.7.0

23 May 00:10
v4.7.0
99c7b5a

Choose a tag to compare

What's Changed

Manual sampling for criterion

Note: ignored under CodSpeed simulation mode (single measured iteration). Only takes effect in walltime mode.

We introduced a new finer control way of defining a criterion benchmark to have full control over how many times your code is ran.
This bypasses criterion's original sampler, which we still recommend using if you do not have specific control needs.

use codspeed_criterion_compat::{criterion_group, criterion_main, Criterion, IterManualOptions};

fn bench_my_function(c: &mut Criterion) {
    c.bench_function("my_function", |b| {
        b.iter_manual_unstable(
            IterManualOptions::new()
                .rounds(5)   // 5 measurement samples, can be lower than criterion's imposed 10
                .iters(1000)  // 1000 calls per sample
                .warmup(5),   // 5 unmeasured warmup iterations
            || my_function(),
        );
    });
}

criterion_group!(benches, bench_my_function);
criterion_main!(benches);

Please note that this API is still under development and may change with future releases.

Full Changelog: v4.6.0...v4.7.0

v4.6.0

28 Apr 13:20
v4.6.0
0c6ccae

Choose a tag to compare

What's Changed

This release adds first support for macOS walltime.

Please note that profiling and other instruments are not yet available on macOS and will come in a later update.

Full Changelog: v4.5.0...v4.6.0

v4.5.0

17 Apr 09:59
v4.5.0
2b09043

Choose a tag to compare

What's Changed

We now collect buildtime and runtime environment data to warn users about differences in their runtime environment when comparing two runs against one another.

This data includes toolchain metadata like version and build options, as well as a list of dynamically loaded linked libraries.

Full Changelog: v4.4.1...v4.5.0

v4.4.1

16 Mar 12:33
v4.4.1
dccf5f4

Choose a tag to compare

What's changed

Full Changelog: v4.4.0...v4.4.1

v4.4.0

12 Mar 09:46
v4.4.0
163ca0d

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.3.0...v4.4.0

v4.3.0

21 Jan 13:01
a8754dd

Choose a tag to compare

What's Changed

Full Changelog: v4.2.1...v4.3.0

v4.2.1

07 Jan 17:25
0afd168

Choose a tag to compare

What's Changed

Full Changelog: v4.2.0...v4.2.1

v4.2.0

23 Dec 08:37
3731cf2

Choose a tag to compare

What's Changed

Full Changelog: v4.1.0...v4.2.0

v4.1.0

07 Nov 15:26
03f528f

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.0.5...v4.1.0