feat: benchmark
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#![feature(test)]
|
||||
#![allow(dead_code)]
|
||||
|
||||
mod builtins;
|
||||
|
||||
@@ -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))))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user