fastcmp 1.0.1

A fast byte slice comparison library
Documentation
#![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;
}