criterion-cycles-per-byte

CyclesPerByte measures clock cycles using the x86 or x86_64 rdtsc instruction. //! ```rust

fn fibonaccislow(: usize) {}

fn fibonaccifast(: usize) {}

use criterion::{criteriongroup, criterionmain, BenchmarkId, Criterion}; use criterioncyclesperbyte::CyclesPerByte; //! fn bench(c: &mut Criterion) { let mut group = c.benchmarkgroup("fibonacci"); //! for i in 0..20 { group.benchfunction(BenchmarkId::new("slow", i), |b| b.iter(|| fibonaccislow(i))); group.benchfunction(BenchmarkId::new("fast", i), |b| b.iter(|| fibonaccifast(i))); } //! group.finish() } //! criteriongroup!( name = mybench; config = Criterion::default().withmeasurement(CyclesPerByte); targets = bench ); criterionmain!(my_bench); ```