#![feature(test)] extern crate halton; extern crate test; #[bench] fn bench_number_base_two(b: &mut test::Bencher) { let mut i = 0; b.iter(|| { let res = halton::number(2, i); i += 1; res }) } #[bench] fn bench_sequence_base_two(b: &mut test::Bencher) { let mut seq = halton::Sequence::new(2); b.iter(|| seq.next()) } #[bench] fn bench_number_base_seventeen(b: &mut test::Bencher) { let mut i = 0; b.iter(|| { let res = halton::number(17, i); i += 1; res }) } #[bench] fn bench_sequence_base_seventeen(b: &mut test::Bencher) { let mut seq = halton::Sequence::new(17); b.iter(|| seq.next()) } #[bench] fn bench_number_one_million_base_two(b: &mut test::Bencher) { b.iter(|| { let mut res = 0.0; for i in 0..1_000_000 { res = halton::number(2, i); } res }) } #[bench] fn bench_sequence_one_million_base_two(b: &mut test::Bencher) { b.iter(|| { let mut res = 0.0; for i in halton::Sequence::new(2).take(1_000_000) { res = i; } res }) } #[bench] fn bench_number_one_million_base_seventeen(b: &mut test::Bencher) { b.iter(|| { let mut res = 0.0; for i in 0..1_000_000 { res = halton::number(17, i); } res }) } #[bench] fn bench_sequence_one_million_base_seventeen(b: &mut test::Bencher) { b.iter(|| { let mut res = 0.0; for i in halton::Sequence::new(17).take(1_000_000) { res = i; } res }) }