#![feature(test)] | |
extern crate test; | |
use bitvec::prelude::*; | |
use test::Bencher; | |
#[bench] | |
fn iter_mut(b: &mut Bencher) { | |
let mut bits = bitarr![0; 500]; | |
b.iter(|| bits.iter_mut().for_each(|mut b| *b = !*b)); | |
} | |
#[bench] | |
#[allow(deprecated)] | |
fn native_for_each(b: &mut Bencher) { | |
let mut bits = bitarr![0; 500]; | |
b.iter(|| bits.for_each(|_, b| !b)); | |
} | |
#[bench] | |
fn copy_within(b: &mut Bencher) { | |
let mut a = bitarr![1, 1, 1, 1, 0, 0, 0, 0]; | |
b.iter(|| a.copy_within(.. 4, 2)); | |
} |