#![feature(test)] | |
extern crate petgraph; | |
extern crate test; | |
use test::Bencher; | |
use petgraph::algo::page_rank; | |
#[allow(dead_code)] | |
mod common; | |
use common::directed_fan; | |
#[cfg(feature = "rayon")] | |
use petgraph::algo::page_rank::parallel_page_rank; | |
#[cfg(feature = "rayon")] | |
use rayon::prelude::*; | |
#[bench] | |
fn page_rank_bench(bench: &mut Bencher) { | |
static NODE_COUNT: usize = 500; | |
let g = directed_fan(NODE_COUNT); | |
bench.iter(|| { | |
let _ranks = page_rank(&g, 0.6_f64, 10); | |
}); | |
} | |
#[bench] | |
#[cfg(feature = "rayon")] | |
fn par_page_rank_bench(bench: &mut Bencher) { | |
static NODE_COUNT: usize = 2_000; | |
let g = directed_fan(NODE_COUNT); | |
bench.iter(|| { | |
let _ranks = parallel_page_rank(&g, 0.6_f64, 100, None); | |
}); | |
} |