1 #![feature(test)]
2
3 extern crate petgraph;
4 extern crate test;
5
6 use test::Bencher;
7
8 #[allow(dead_code)]
9 mod common;
10 use common::*;
11
12 use petgraph::algo::is_isomorphic;
13
14 #[bench]
petersen_iso_bench(bench: &mut Bencher)15 fn petersen_iso_bench(bench: &mut Bencher) {
16 let a = digraph().petersen_a();
17 let b = digraph().petersen_b();
18
19 bench.iter(|| is_isomorphic(&a, &b));
20 assert!(is_isomorphic(&a, &b));
21 }
22
23 #[bench]
petersen_undir_iso_bench(bench: &mut Bencher)24 fn petersen_undir_iso_bench(bench: &mut Bencher) {
25 let a = ungraph().petersen_a();
26 let b = ungraph().petersen_b();
27
28 bench.iter(|| is_isomorphic(&a, &b));
29 assert!(is_isomorphic(&a, &b));
30 }
31
32 #[bench]
full_iso_bench(bench: &mut Bencher)33 fn full_iso_bench(bench: &mut Bencher) {
34 let a = ungraph().full_a();
35 let b = ungraph().full_b();
36
37 bench.iter(|| is_isomorphic(&a, &b));
38 assert!(is_isomorphic(&a, &b));
39 }
40
41 #[bench]
praust_dir_no_iso_bench(bench: &mut Bencher)42 fn praust_dir_no_iso_bench(bench: &mut Bencher) {
43 let a = digraph().praust_a();
44 let b = digraph().praust_b();
45
46 bench.iter(|| is_isomorphic(&a, &b));
47 assert!(!is_isomorphic(&a, &b));
48 }
49
50 #[bench]
praust_undir_no_iso_bench(bench: &mut Bencher)51 fn praust_undir_no_iso_bench(bench: &mut Bencher) {
52 let a = ungraph().praust_a();
53 let b = ungraph().praust_b();
54
55 bench.iter(|| is_isomorphic(&a, &b));
56 assert!(!is_isomorphic(&a, &b));
57 }
58