feat: benchmark

This commit is contained in:
2025-05-11 00:51:32 +08:00
parent f52687bc1e
commit 949352333e
2 changed files with 17 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
#![feature(test)]
#![allow(dead_code)]
mod builtins;

View File

@@ -1,3 +1,7 @@
extern crate test;
use test::{Bencher, black_box};
use ecow::EcoString;
use rpds::{ht_map_sync, vector_sync};
@@ -189,3 +193,15 @@ fn test_func() {
int!(3),
);
}
#[test]
#[ignore]
fn test_fib() {
test_expr("let fib = n: if n == 1 || n == 2 then 1 else (fib (n - 1)) + (fib (n - 2)); in fib 30", int!(832040))
}
#[bench]
#[ignore]
fn bench_fib(b: &mut Bencher) {
b.iter(|| black_box(test_expr("let fib = n: if n == 1 || n == 2 then 1 else (fib (n - 1)) + (fib (n - 2)); in fib 20", int!(6765))))
}