feat: benchmark
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
#![feature(test)]
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
|
||||||
mod builtins;
|
mod builtins;
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
extern crate test;
|
||||||
|
|
||||||
|
use test::{Bencher, black_box};
|
||||||
|
|
||||||
use ecow::EcoString;
|
use ecow::EcoString;
|
||||||
use rpds::{ht_map_sync, vector_sync};
|
use rpds::{ht_map_sync, vector_sync};
|
||||||
|
|
||||||
@@ -189,3 +193,15 @@ fn test_func() {
|
|||||||
int!(3),
|
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