diff options
Diffstat (limited to 'vendor/petgraph/benches/stable_graph.rs')
-rw-r--r-- | vendor/petgraph/benches/stable_graph.rs | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/vendor/petgraph/benches/stable_graph.rs b/vendor/petgraph/benches/stable_graph.rs new file mode 100644 index 000000000..9dffd91cf --- /dev/null +++ b/vendor/petgraph/benches/stable_graph.rs @@ -0,0 +1,85 @@ +#![feature(test)] + +extern crate petgraph; +extern crate test; + +use petgraph::prelude::*; +use test::Bencher; + +#[allow(dead_code)] +mod common; +use common::*; + +use petgraph::stable_graph::node_index; + +#[bench] +fn full_edges_default(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.edges(node_index(1)).count()) +} + +#[bench] +fn full_edges_out(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.edges_directed(node_index(1), Outgoing).count()) +} + +#[bench] +fn full_edges_in(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.edges_directed(node_index(1), Incoming).count()) +} + +#[bench] +fn neighbors_default(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.neighbors(node_index(1)).count()) +} + +#[bench] +fn neighbors_out(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.neighbors_directed(node_index(1), Outgoing).count()) +} + +#[bench] +fn neighbors_in(bench: &mut Bencher) { + let a = stable_digraph().full_a(); + bench.iter(|| a.neighbors_directed(node_index(1), Incoming).count()) +} + +#[bench] +fn sccs_stable_graph(bench: &mut Bencher) { + let a = stable_digraph().bigger(); + bench.iter(|| petgraph::algo::kosaraju_scc(&a)); +} + +#[bench] +fn sccs_graph(bench: &mut Bencher) { + let a = digraph().bigger(); + bench.iter(|| petgraph::algo::kosaraju_scc(&a)); +} + +#[bench] +fn stable_graph_map(bench: &mut Bencher) { + let a = stable_digraph().bigger(); + bench.iter(|| a.map(|i, _| i, |i, _| i)); +} + +#[bench] +fn graph_map(bench: &mut Bencher) { + let a = digraph().bigger(); + bench.iter(|| a.map(|i, _| i, |i, _| i)); +} + +#[bench] +fn stable_graph_retain_nodes(bench: &mut Bencher) { + let mut a = stable_digraph().bigger(); + bench.iter(|| a.retain_nodes(|_gr, i| (i.index() + 1) % 3700 != 0)); +} + +#[bench] +fn stable_graph_retain_edges(bench: &mut Bencher) { + let mut a = stable_digraph().bigger(); + bench.iter(|| a.retain_edges(|_gr, i| (i.index() + 1) % 3700 != 0)); +} |