diff --git a/benches/benchmarks.rs b/benches/benchmarks.rs index 60db6f2..0479d2b 100644 --- a/benches/benchmarks.rs +++ b/benches/benchmarks.rs @@ -14,7 +14,9 @@ use new_nu_parser::resolver::Resolver; use new_nu_parser::typechecker::Typechecker; /// Files in benches/nu/ we want to benchmark (without .nu suffix) -const BENCHMARKS: &[&str] = &["def", "if", "combined", "int100"]; +const BENCHMARKS: &[&str] = &[ + "int100", "def", "if", "for", "while", "if_oneof", "combined", +]; const ITERATIONS: &[usize] = &[1, 10, 100, 1_000, 10_000]; diff --git a/benches/nu/for.nu b/benches/nu/for.nu new file mode 100644 index 0000000..1fc85a0 --- /dev/null +++ b/benches/nu/for.nu @@ -0,0 +1,3 @@ +for i in [1 2 3] { + print $i +} diff --git a/benches/nu/if_oneof.nu b/benches/nu/if_oneof.nu new file mode 100644 index 0000000..d74e5e6 --- /dev/null +++ b/benches/nu/if_oneof.nu @@ -0,0 +1,21 @@ +let x = 123 + +let z = if $x < 50 { + null +} else if $x > 100 { + 10 +} else { + [1 2 "foo"] +} + +let y = if $x < 100 { + 5 +} else if $x > 200 { + "foo" +} else { + null +} + +let $y = $z + +$y diff --git a/benches/nu/while.nu b/benches/nu/while.nu new file mode 100644 index 0000000..f3c4bfa --- /dev/null +++ b/benches/nu/while.nu @@ -0,0 +1,5 @@ +mut x = 100 + +while $x < 1000 { + $x = $x + 1 +}