Current section
Files
Jump to
Current section
Files
src/gleamy_bench_example.gleam
import gleamy_bench.{Bench, BenchTime, Function, IPS, Input, Min, P, run, table}
import gleam/io
fn fib1(n: Int) -> Int {
case n {
0 -> 0
1 -> 1
n -> fib1(n - 1) + fib1(n - 2)
}
}
fn do_fib2(a, b, n) {
case n {
0 -> a
_ -> do_fib2(b, a + b, n - 1)
}
}
fn fib2(n: Int) -> Int {
do_fib2(0, 1, n)
}
pub fn main() {
Bench(
[Input("n=5", 5), Input("n=10", 10), Input("n=15", 15)],
[Function("fib1", fib1), Function("fib2", fib2)],
)
|> run([BenchTime(100)])
|> table([IPS, Min, P(99)])
|> io.println()
}