pub trait Timeable<It, T>: Sizedwhere
    It: Iterator<Item = T>,
{ fn timed_labeled(
        self,
        label: &'static str
    ) -> TimedIterator<It, T, SimpleStdout>Notable traits for TimedIterator<It, T, O>impl<It, T, O> Iterator for TimedIterator<It, T, O>where
    It: Iterator<Item = T>,
    O: Output,
type Item = T;
; fn timed_persisted_labeled(
        self,
        label: &'static str
    ) -> TimedIterator<It, T, ComparedStdout>Notable traits for TimedIterator<It, T, O>impl<It, T, O> Iterator for TimedIterator<It, T, O>where
    It: Iterator<Item = T>,
    O: Output,
type Item = T;
; fn timed(self) -> TimedIterator<It, T, SimpleStdout>Notable traits for TimedIterator<It, T, O>impl<It, T, O> Iterator for TimedIterator<It, T, O>where
    It: Iterator<Item = T>,
    O: Output,
type Item = T;
{ ... } fn timed_persisted(self) -> TimedIterator<It, T, ComparedStdout>Notable traits for TimedIterator<It, T, O>impl<It, T, O> Iterator for TimedIterator<It, T, O>where
    It: Iterator<Item = T>,
    O: Output,
type Item = T;
{ ... } }
Expand description

A trait for allowing iterators to be used as timers

Required Methods

Time this iterator with a specified label

use tiny_bench::Timeable;
let v: Vec<i32> = (0..100)
    .timed_labeled("my_iterator_test")
    .collect();
// Prints results when the iterator has been drained
assert_eq!(100, v.len());

Time this iterator with a custom label to separate different runs for comparison

Provided Methods

Time this iterator with an anonymous label

use tiny_bench::Timeable;
let v: Vec<i32> = (0..100)
    .timed()
    .collect();
// Prints results when the iterator has been drained
assert_eq!(100, v.len());

Time this iterator with an anonymous label and persist the result so that other anonymous time results will be compared with it when they run next

Implementors