#![feature(test)] extern crate test; extern crate apodize; #[bench] fn bench_cosine(bencher: &mut test::Bencher) { bencher.iter(|| apodize::cosine_at(0.355768, 0.487396, 0.144232, 0.012604, 1024, 400)); } #[bench] fn bench_collect_hanning_iter_1024(bencher: &mut test::Bencher) { bencher.iter(|| apodize::hanning_iter(1024).collect::>()); } #[bench] fn bench_multiply_hanning_window_1024_with_data_as_vec_iter(bencher: &mut test::Bencher) { let window = apodize::hanning_iter(1024).collect::>(); let data = (0..1024).map(|x| x as f64).collect::>(); bencher.iter(|| { let mut copy = data.clone(); for (dst, src) in copy.iter_mut().zip(window.iter()) { *dst *= *src; } copy }); } #[bench] fn bench_multiply_hanning_window_1024_with_data_as_vec_index(bencher: &mut test::Bencher) { let window = apodize::hanning_iter(1024).collect::>(); let data = (0..1024).map(|x| x as f64).collect::>(); bencher.iter(|| { let mut copy = data.clone(); for i in 0..window.len() { copy[i] *= window[i]; } copy }); }