Struct criterion_cycles_per_byte::CyclesPerByte
source · pub struct CyclesPerByte;
Expand description
CyclesPerByte
measures clock cycles using the CPU read time-stamp counter instruction. cpb
is
the preferred measurement for cryptographic algorithms.
Trait Implementations§
source§impl Measurement for CyclesPerByte
impl Measurement for CyclesPerByte
§type Intermediate = u64
type Intermediate = u64
This type represents an intermediate value for the measurements. It will be produced by the
start function and passed to the end function. An example might be the wall-clock time as
of the
start
call.§type Value = u64
type Value = u64
This type is the measured value. An example might be the elapsed wall-clock time between the
start
and end
calls.source§fn start(&self) -> Self::Intermediate
fn start(&self) -> Self::Intermediate
Criterion.rs will call this before iterating the benchmark.
source§fn end(&self, i: Self::Intermediate) -> Self::Value
fn end(&self, i: Self::Intermediate) -> Self::Value
Criterion.rs will call this after iterating the benchmark to get the measured value.
source§fn add(&self, v1: &Self::Value, v2: &Self::Value) -> Self::Value
fn add(&self, v1: &Self::Value, v2: &Self::Value) -> Self::Value
Combine two values. Criterion.rs sometimes needs to perform measurements in multiple batches
of iterations, so the value from one batch must be added to the sum of the previous batches.
source§fn zero(&self) -> Self::Value
fn zero(&self) -> Self::Value
Return a “zero” value for the Value type which can be added to another value.
source§fn to_f64(&self, value: &Self::Value) -> f64
fn to_f64(&self, value: &Self::Value) -> f64
Converts the measured value to f64 so that it can be used in statistical analysis.
source§fn formatter(&self) -> &dyn ValueFormatter
fn formatter(&self) -> &dyn ValueFormatter
Return a trait-object reference to the value formatter for this measurement.
Auto Trait Implementations§
impl Freeze for CyclesPerByte
impl RefUnwindSafe for CyclesPerByte
impl Send for CyclesPerByte
impl Sync for CyclesPerByte
impl Unpin for CyclesPerByte
impl UnwindSafe for CyclesPerByte
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more