diff --git a/benchmark.spl b/benchmark.spl index 9edd017..ac3c704 100644 --- a/benchmark.spl +++ b/benchmark.spl @@ -6,36 +6,36 @@ func main { mega | with args ; "[-] spl benchmark v0.1.0" println "[0] benchmarking while loop with variable 0..100000" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println def i 0 =i while { i 100000 lt } { i ++ =i } - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println "[1] benchmarking foreach on 100000" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println { | pop } 100000 :foreach - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println "[2] benchmarking fast foreach on 100000" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println { | pop } 100000 :fforeach - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println "[3] benchmarking foreach on Range 100000..200000" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println 100000 200000 Range:new :iter :foreach <{ | with i ; }> - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println "[4] benchmarking manual multiply of 100000 x 5" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println def i 0 =i def n 0 =n while { i 100000 lt } { @@ -43,18 +43,18 @@ func main { mega | with args ; n 5 + =n } " -> n = " print n println - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println "[5] benchmarking 10000 array adds" println - "==> bgin at " print unixms dup =begin println + "==> bgin at " print time:unixms dup =begin println def i 0 =i def arr 0 anew =arr while { i 10000 lt } { i awrap arr aadd =arr i ++ =i } - "==> done at " print unixms dup =end println + "==> done at " print time:unixms dup =end println "==> in " print end begin - println 0 diff --git a/spl/std.spl b/spl/std.spl index f7ec0e6..63abaac 100644 --- a/spl/std.spl +++ b/spl/std.spl @@ -8,11 +8,11 @@ def program-name def print'pre-std &print =print'pre-std func print { | - _str print'pre-std call + _str !!- print'pre-std inline-callable } func println { | - !!- _str "\n" concat print + _str !!- "\n" concat print } construct error { @@ -121,7 +121,7 @@ construct _mega-ext { while { !!- i this lt } { !!- i callable call i 1 + =i } } fforeach { | with callable this ; - 0 while { !!- dup2 this lt } { !!- callable inline-callable 1 + } + 0 while { !!- dup2 this lt } { !!- callable call 1 + } } } include _mega-ext in mega