summaryrefslogtreecommitdiffstats
path: root/vendor/petgraph/benches/unionfind.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/petgraph/benches/unionfind.rs')
-rw-r--r--vendor/petgraph/benches/unionfind.rs156
1 files changed, 156 insertions, 0 deletions
diff --git a/vendor/petgraph/benches/unionfind.rs b/vendor/petgraph/benches/unionfind.rs
new file mode 100644
index 000000000..dd4446a52
--- /dev/null
+++ b/vendor/petgraph/benches/unionfind.rs
@@ -0,0 +1,156 @@
+#![feature(test)]
+
+extern crate petgraph;
+extern crate test;
+
+use test::Bencher;
+
+#[allow(dead_code)]
+mod common;
+use common::*;
+
+use petgraph::algo::{connected_components, is_cyclic_undirected, min_spanning_tree};
+
+#[bench]
+fn connected_components_praust_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().praust_a();
+ let b = ungraph().praust_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn connected_components_praust_dir_bench(bench: &mut Bencher) {
+ let a = digraph().praust_a();
+ let b = digraph().praust_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn connected_components_full_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().full_a();
+ let b = ungraph().full_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn connected_components_full_dir_bench(bench: &mut Bencher) {
+ let a = digraph().full_a();
+ let b = digraph().full_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn connected_components_petersen_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().petersen_a();
+ let b = ungraph().petersen_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn connected_components_petersen_dir_bench(bench: &mut Bencher) {
+ let a = digraph().petersen_a();
+ let b = digraph().petersen_b();
+
+ bench.iter(|| (connected_components(&a), connected_components(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_praust_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().praust_a();
+ let b = ungraph().praust_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_praust_dir_bench(bench: &mut Bencher) {
+ let a = digraph().praust_a();
+ let b = digraph().praust_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_full_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().full_a();
+ let b = ungraph().full_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_full_dir_bench(bench: &mut Bencher) {
+ let a = digraph().full_a();
+ let b = digraph().full_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_petersen_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().petersen_a();
+ let b = ungraph().petersen_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn is_cyclic_undirected_petersen_dir_bench(bench: &mut Bencher) {
+ let a = digraph().petersen_a();
+ let b = digraph().petersen_b();
+
+ bench.iter(|| (is_cyclic_undirected(&a), is_cyclic_undirected(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_praust_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().praust_a();
+ let b = ungraph().praust_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_praust_dir_bench(bench: &mut Bencher) {
+ let a = digraph().praust_a();
+ let b = digraph().praust_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_full_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().full_a();
+ let b = ungraph().full_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_full_dir_bench(bench: &mut Bencher) {
+ let a = digraph().full_a();
+ let b = digraph().full_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_petersen_undir_bench(bench: &mut Bencher) {
+ let a = ungraph().petersen_a();
+ let b = ungraph().petersen_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}
+
+#[bench]
+fn min_spanning_tree_petersen_dir_bench(bench: &mut Bencher) {
+ let a = digraph().petersen_a();
+ let b = digraph().petersen_b();
+
+ bench.iter(|| (min_spanning_tree(&a), min_spanning_tree(&b)));
+}