Skip to content

Add adapter for criterion-cycles-per-byte #761

@Pr0methean

Description

@Pr0methean

I have a Rust benchmark that uses criterion_cycles_per_byte, and I've tried running in the Bencher CLI with all the following commands, but they all give "Are you sure (rust-criterion|json|magic) is the right adapter?" and appear on my dashboard as runs with no metrics.

bencher run --token [TOKEN] --project pr0methean-s-rand-triplemix cargo +nightly bench -p benches --features reproducibility_cross_platform,bench_include_threadrng
bencher run --token [TOKEN] --project pr0methean-s-rand-triplemix cargo +nightly bench -p benches --features reproducibility_cross_platform,bench_include_threadrng -- --output-format bencher
bencher run --adapter json --token [TOKEN] --project pr0methean-s-rand-triplemix cargo +nightly bench -p benches --features reproducibility_cross_platform,bench_include_threadrng --message-format=json
bencher run --adapter rust_criterion --token [TOKEN] --project pr0methean-s-rand-triplemix cargo +nightly bench -p benches --features reproducibility_cross_platform,bench_include_threadrng
bencher run --adapter json --token [TOKEN] --project pr0methean-s-rand-triplemix cargo +nightly bench -p benches --features reproducibility_cross_platform,bench_include_threadrng -- --output-format bencher

How do I fix this? The benchmark code is at https://github.com/Pr0methean/TripleMixPrng/blob/7ec278d7719c43202671d2753c52a4fa9fa46a4b/benches/src/benchmarks.rs. Please don't force me to revert to using wall-clock time on platforms that criterion_cycles_per_byte supports. The noise from CPU-cache contention is bad enough even without any noise from thermal throttling or preemptive multitasking, and I was hoping to use Relative Continuous Benchmarking, and/or the "control group" that bench_include_threadrng enables, to mitigate even the former noise to the point that the results would finally be usable!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions