Lesson 45 of 50 · rust
Profiling and Benchmarking
Duration: 15 minutes
Lesson 45 of 50 · rust
Duration: 15 minutes
criterion crate for micro‑benchmarks.\n\ntoml\n[dev-dependencies]\ncriterion = \"0.4\"\n\n\nrust\nuse criterion::{black_box, criterion_group, criterion_main, Criterion};\n\nfn fibonacci(n: u64) -> u64 {\n match n {\n 0 => 0,\n 1 => 1,\n _ => fibonacci(n-1) + fibonacci(n-2),\n }\n}\n\nfn bench_fib(c: &mut Criterion) {\n c.bench_function(\"fib 20\", |b| b.iter(|| fibonacci(black_box(20))));\n}\n\ncriterion_group!(benches, bench_fib);\ncriterion_main!(benches);\n\n\nRun with cargo bench.