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)16fn 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)23fn 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)30fn 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)37fn 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)44fn 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)51fn 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