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