1 #![feature(test)] 2 extern crate petgraph; 3 extern crate test; 4 5 use test::Bencher; 6 7 use petgraph::algo::page_rank; 8 9 #[allow(dead_code)] 10 mod common; 11 12 use common::directed_fan; 13 14 #[cfg(feature = "rayon")] 15 use petgraph::algo::page_rank::parallel_page_rank; 16 #[cfg(feature = "rayon")] 17 use rayon::prelude::*; 18 19 #[bench] page_rank_bench(bench: &mut Bencher)20fn page_rank_bench(bench: &mut Bencher) { 21 static NODE_COUNT: usize = 500; 22 let g = directed_fan(NODE_COUNT); 23 bench.iter(|| { 24 let _ranks = page_rank(&g, 0.6_f64, 10); 25 }); 26 } 27 28 #[bench] 29 #[cfg(feature = "rayon")] par_page_rank_bench(bench: &mut Bencher)30fn par_page_rank_bench(bench: &mut Bencher) { 31 static NODE_COUNT: usize = 2_000; 32 let g = directed_fan(NODE_COUNT); 33 bench.iter(|| { 34 let _ranks = parallel_page_rank(&g, 0.6_f64, 100, None); 35 }); 36 } 37