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)12 fn 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)23 fn 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