#![feature(test)]
extern crate test;
extern crate fastcmp;
use fastcmp::Compare;
#[bench]
fn slice_compare_equal(b: &mut test::Bencher) {
let vec1 = vec![5; 256];
let vec2 = vec1.clone();
b.iter(|| {
assert!(&vec2 == &vec1);
});
b.bytes = vec1.len() as u64;
}
#[bench]
fn fast_compare_equal(b: &mut test::Bencher) {
let vec1 = vec![5; 256];
let vec2 = vec1.clone();
b.iter(|| {
assert!(vec1.feq(&vec2));
});
b.bytes = vec1.len() as u64;
}
#[bench]
fn slice_compare_unequal(b: &mut test::Bencher) {
let vec = vec![5; 255];
let mut vec1 = vec.clone();
let mut vec2 = vec.clone();
vec1.push(1);
vec2.push(2);
b.iter(|| assert!(&vec1 != &vec2));
b.bytes = vec1.len() as u64;
}
#[bench]
fn fast_compare_unequal(b: &mut test::Bencher) {
let vec = vec![5; 255];
let mut vec1 = vec.clone();
let mut vec2 = vec.clone();
vec1.push(1);
vec2.push(2);
b.iter(|| assert!(!vec1.feq(&vec2)));
b.bytes = vec1.len() as u64;
}