-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathdp.rs
51 lines (40 loc) · 1.14 KB
/
dp.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#![feature(test)]
extern crate test;
use algo::dp;
use test::Bencher;
static MAKE_CHANGES_AMOUNT: i32 = 20;
#[bench]
fn make_changes_classic(b: &mut Bencher) {
let coins = vec![1, 2, 5];
b.iter(|| dp::coin::make_change_classic(&coins, MAKE_CHANGES_AMOUNT));
}
#[bench]
fn make_changes_iter(b: &mut Bencher) {
let coins = vec![1, 2, 5];
b.iter(|| dp::coin::make_change_iter(&coins, MAKE_CHANGES_AMOUNT));
}
static BENCH_N: usize = 20;
#[bench]
fn fib_classic_recursive(b: &mut Bencher) {
b.iter(|| dp::fib::fib_classic_recursive(BENCH_N));
}
#[bench]
fn fib_cache_result(b: &mut Bencher) {
b.iter(|| dp::fib::fib_cache_result(BENCH_N));
}
#[bench]
fn fib_classic_iteration_loop(b: &mut Bencher) {
b.iter(|| dp::fib::fib_classic_iteration_loop(BENCH_N));
}
#[bench]
fn fib_classic_iteration_for(b: &mut Bencher) {
b.iter(|| dp::fib::fib_classic_iteration_for(BENCH_N));
}
#[bench]
fn fib_cache_result_c(b: &mut Bencher) {
b.iter(|| unsafe { dp::fib::fib_cache_result_c(BENCH_N) });
}
#[bench]
fn fib_classic_iteration_for_c(b: &mut Bencher) {
b.iter(|| unsafe { dp::fib::fib_classic_iteration_for_c(BENCH_N) });
}