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)20 fn 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)30 fn 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