2019-08-28 21:08:32 +05:30
|
|
|
#![feature(test)]
|
|
|
|
|
|
|
|
extern crate test;
|
|
|
|
|
2020-01-28 17:03:20 -08:00
|
|
|
use rand::{seq::SliceRandom, thread_rng};
|
2019-08-28 21:08:32 +05:30
|
|
|
use solana_runtime::transaction_utils::OrderedIterator;
|
|
|
|
use test::Bencher;
|
|
|
|
|
|
|
|
#[bench]
|
|
|
|
fn bench_ordered_iterator_with_order_shuffling(bencher: &mut Bencher) {
|
|
|
|
let vec: Vec<usize> = (0..100_usize).collect();
|
|
|
|
bencher.iter(|| {
|
|
|
|
let mut order: Vec<usize> = (0..100_usize).collect();
|
|
|
|
order.shuffle(&mut thread_rng());
|
|
|
|
let _ordered_iterator_resp: Vec<&usize> =
|
|
|
|
OrderedIterator::new(&vec, Some(&order)).collect();
|
|
|
|
});
|
|
|
|
}
|