| #![feature(test)] |
| |
| extern crate test; |
| |
| use bitvec::prelude::*; |
| use test::Bencher; |
| |
| #[bench] |
| fn bitwise_eq(bench: &mut Bencher) { |
| let a = bitarr![usize, Lsb0; 0; 500]; |
| let b = bitarr![usize, Msb0; 0; 500]; |
| |
| bench.iter(|| { |
| a.iter() |
| .by_vals() |
| .zip(b.iter().by_vals()) |
| .all(|(a, b)| a == b) |
| }); |
| } |
| |
| #[bench] |
| fn plain_eq(bench: &mut Bencher) { |
| let a = bitarr![usize, Lsb0; 0; 500]; |
| let b = bitarr![usize, Msb0; 0; 500]; |
| |
| bench.iter(|| a == b); |
| } |
| |
| #[bench] |
| fn lsb0_accel_eq(bench: &mut Bencher) { |
| let a = bitarr![usize, Lsb0; 0; 500]; |
| let b = bitarr![usize, Lsb0; 0; 500]; |
| |
| bench.iter(|| a == b); |
| } |
| |
| #[bench] |
| fn msb0_accel_eq(bench: &mut Bencher) { |
| let a = bitarr![usize, Msb0; 0; 500]; |
| let b = bitarr![usize, Msb0; 0; 500]; |
| |
| bench.iter(|| a == b); |
| } |