summaryrefslogtreecommitdiffstats
path: root/vendor/petgraph/benches/stable_graph.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/petgraph/benches/stable_graph.rs')
-rw-r--r--vendor/petgraph/benches/stable_graph.rs85
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));
+}