1 #![feature(test)] 2 3 extern crate euclid; 4 extern crate plane_split; 5 extern crate test; 6 7 use std::sync::Arc; 8 use euclid::vec3; 9 use plane_split::{BspSplitter, NaiveSplitter, Splitter, _make_grid}; 10 11 #[bench] bench_naive(b: &mut test::Bencher)12fn bench_naive(b: &mut test::Bencher) { 13 let polys = Arc::new(_make_grid(5)); 14 let mut splitter = NaiveSplitter::new(); 15 let view = vec3(0.0, 0.0, 1.0); 16 b.iter(|| { 17 let p = polys.clone(); 18 splitter.solve(&p, view); 19 }); 20 } 21 22 #[bench] bench_bsp(b: &mut test::Bencher)23fn bench_bsp(b: &mut test::Bencher) { 24 let polys = Arc::new(_make_grid(5)); 25 let mut splitter = BspSplitter::new(); 26 let view = vec3(0.0, 0.0, 1.0); 27 b.iter(|| { 28 let p = polys.clone(); 29 splitter.solve(&p, view); 30 }); 31 } 32