rust-bytes-issue-77/benches/bench.rs

19 lines
374 B
Rust

fn main() {
divan::main();
}
#[divan::bench(args = [1, 2, 4, 8, 16, 32, 64, 128])]
pub fn fibonacci_loop(n: i32) -> i32 {
let mut a = 0;
let mut b = 1;
for _ in 0..n {
(a, b) = (b, a + b);
}
b
}
#[divan::bench(args = [1, 2, 4, 8, 16, 32, 64, 128])]
pub fn fibonacci_fold(n: i32) -> i32 {
(0..n).fold((0, 1), |(a, b), _| (b, a + b)).1
}