1 #![feature(test)]
2 
3 extern crate petgraph;
4 extern crate test;
5 
6 use test::Bencher;
7 
8 use petgraph::algo::greedy_feedback_arc_set;
9 
10 #[allow(dead_code)]
11 mod common;
12 
13 use common::{directed_fan, tournament};
14 
15 #[bench]
greedy_fas_tournament_10_bench(bench: &mut Bencher)16 fn greedy_fas_tournament_10_bench(bench: &mut Bencher) {
17     let g = tournament(10);
18 
19     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
20 }
21 
22 #[bench]
greedy_fas_tournament_50_bench(bench: &mut Bencher)23 fn greedy_fas_tournament_50_bench(bench: &mut Bencher) {
24     let g = tournament(50);
25 
26     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
27 }
28 
29 #[bench]
greedy_fas_tournament_200_bench(bench: &mut Bencher)30 fn greedy_fas_tournament_200_bench(bench: &mut Bencher) {
31     let g = tournament(200);
32 
33     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
34 }
35 
36 #[bench]
greedy_fas_fan_10_bench(bench: &mut Bencher)37 fn greedy_fas_fan_10_bench(bench: &mut Bencher) {
38     let g = directed_fan(10);
39 
40     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
41 }
42 
43 #[bench]
greedy_fas_fan_200_bench(bench: &mut Bencher)44 fn greedy_fas_fan_200_bench(bench: &mut Bencher) {
45     let g = directed_fan(200);
46 
47     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
48 }
49 
50 #[bench]
greedy_fas_fan_1000_bench(bench: &mut Bencher)51 fn greedy_fas_fan_1000_bench(bench: &mut Bencher) {
52     let g = directed_fan(1000);
53 
54     bench.iter(|| greedy_feedback_arc_set(&g).for_each(|_| ()))
55 }
56