extern crate test;
use maplit::btreeset;
use test::Bencher;
use test::black_box;
use crate::Node;
use crate::QuorumTree;
use crate::quorum::QuorumSet;
#[bench]
fn quorum_set_tree_ids_slice(b: &mut Bencher) {
let m12345 = QuorumTree::new(3, [1, 2, 3, 4, 5].map(Node::Id)).unwrap();
let x = [1, 2, 3, 6, 7];
b.iter(|| m12345.is_quorum(black_box(x.iter())))
}
#[bench]
fn quorum_set_btreeset_ids_slice(b: &mut Bencher) {
let m12345678 = btreeset! {1,2,3,4,5,6,7,8};
let x = [1, 2, 3, 6, 7];
b.iter(|| m12345678.is_quorum(black_box(x.iter())))
}
#[bench]
fn quorum_set_vec_of_btreeset_ids_slice(b: &mut Bencher) {
let m12345_678 = vec![btreeset! {1,2,3,4,5}, btreeset! {6,7,8}];
let x = [1, 2, 3, 6, 7];
b.iter(|| m12345_678.is_quorum(black_box(x.iter())))
}
#[bench]
fn quorum_set_vec_of_btreeset_ids_btreeset(b: &mut Bencher) {
let m12345_678 = vec![btreeset! {1,2,3,4,5}, btreeset! {6,7,8}];
let x = btreeset! {1,2,3,6,7};
b.iter(|| m12345_678.is_quorum(black_box(x.iter())))
}