aboutsummaryrefslogtreecommitdiffstats
path: root/progs/bench
diff options
context:
space:
mode:
Diffstat (limited to 'progs/bench')
-rw-r--r--progs/bench/fib.sy6
-rw-r--r--progs/bench/fib_iter.sy22
-rw-r--r--progs/bench/sum.sy14
3 files changed, 27 insertions, 15 deletions
diff --git a/progs/bench/fib.sy b/progs/bench/fib.sy
index de68f5c..ad10e20 100644
--- a/progs/bench/fib.sy
+++ b/progs/bench/fib.sy
@@ -7,4 +7,8 @@ fib :: fn a:int -> int {
ret fib(a - 1) + fib(a - 2)
}
// 23 is around where things start getting slow.
-fib(23) <=> 28657
+start :: fn {
+ fib(23) <=> 28657
+}
+
+// flags: no_print
diff --git a/progs/bench/fib_iter.sy b/progs/bench/fib_iter.sy
index c51469a..7ed1021 100644
--- a/progs/bench/fib_iter.sy
+++ b/progs/bench/fib_iter.sy
@@ -1,14 +1,18 @@
// A Fibonacci implementation that is a little
// less awful. But we run it 1000 times instead.
-j := 0
-for , j < 1000, j = j + 1 {
- a := 0
- b := 1
+start :: fn {
+ j := 0
+ for , j < 1000, j = j + 1 {
+ a := 0
+ b := 1
- for i := 0, i < 50, i = i + 1 {
- c := a
- a = b
- b = c + b
+ for i := 0, i < 50, i = i + 1 {
+ c := a
+ a = b
+ b = c + b
+ }
+ a <=> 12586269025
}
- a <=> 12586269025
}
+
+// flags: no_print
diff --git a/progs/bench/sum.sy b/progs/bench/sum.sy
index bb6870f..76fe392 100644
--- a/progs/bench/sum.sy
+++ b/progs/bench/sum.sy
@@ -1,6 +1,10 @@
-// Adds the numbers 0 to 10000
-sum := 0
-for i := 0, i <= 100000, i += 1 {
- sum += i
+// Adds the numbers 0 to 100000
+start :: fn {
+ sum := 0
+ for i := 0, i <= 100000, i += 1 {
+ sum += i
+ }
+ sum <=> 5000050000
}
-sum <=> 5000050000
+
+// flags: no_print