blob: ca02711345a53eed420031afe586a3c8700bcf24 [file] [log] [blame]
#![feature(test)]
extern crate petgraph;
extern crate test;
use petgraph::algo::ford_fulkerson;
use petgraph::prelude::{Graph, NodeIndex};
use test::Bencher;
#[bench]
fn ford_fulkerson_bench(bench: &mut Bencher) {
static NODE_COUNT: usize = 1_000;
let mut g: Graph<usize, usize> = Graph::new();
let nodes: Vec<NodeIndex<_>> = (0..NODE_COUNT).map(|i| g.add_node(i)).collect();
for i in 0..NODE_COUNT - 1 {
g.add_edge(nodes[i], nodes[i + 1], 1);
}
bench.iter(|| {
let _flow = ford_fulkerson(
&g,
NodeIndex::from(0),
NodeIndex::from(g.node_count() as u32 - 1),
);
});
}