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 }