rust-memcmp

Build status Optimized comparisons for integer slices. Use memcmp to compare integer slices efficiently.

Workaround for Rust issue 16913.

Baseline PartialEq comparison:

test test::u8slicecmp ... bench: 2201 ns/iter (+/- 113) = 454 MB/s

```rust

[bench]

fn slicecmp(b: &mut test::Bencher) { let vec1 = repeat(b'c').take(10000).collect::>(); let vec2 = vec1.clone();

b.bytes = vec1.len() as u64;
b.iter(|| {
    let (s1, s2) = ( &*vec1, &*vec2 );
    return s1==s2
});

} ```

Using this crate:

test test::u8_memcmp ... bench: 33 ns/iter (+/- 2) = 30303 MB/s

```rust extern crate memcmp; use memcmp::Memcmp;

[bench]

fn memcmpcmp(b: &mut test::Bencher) { let vec1 = repeat(b'c').take(10000).collect::>(); let vec2 = vec1.clone();

b.bytes = vec1.len() as u64;
b.iter(|| {
    let (s1, s2) = ( &*vec1, &*vec2 );
    return s1.memcmp(s2)
});

} ```