Most things seem to be working now, with new benchmarks. Not sure if a small memory leak is now or was there before
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
NUMBER=30
|
||||
#NUMBER=27
|
||||
|
||||
touch csc_out.wasm && rm csc_out.wasm && scheme --script ../partial_eval.scm fib.kp
|
||||
mv csc_out.wasm fib_compiled.wasm
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `echo 30 \| wasmtime ./fib_compiled.wasm` | 104.2 ± 1.7 | 102.3 | 109.5 | 8.43 ± 0.46 |
|
||||
| `echo 30 \| wasmtime ./fib_compiled_let.wasm` | 138.2 ± 1.6 | 134.9 | 141.0 | 11.19 ± 0.59 |
|
||||
| `echo 30 \| wasmtime ./builtin_fib.wasm` | 12.4 ± 0.6 | 10.9 | 15.8 | 1.00 |
|
||||
| `echo 30 \| wasmtime ./fib_compiled_manual.wasm` | 299.3 ± 2.2 | 296.5 | 302.5 | 24.23 ± 1.27 |
|
||||
| `scheme --script ./fib.scm 30` | 53.6 ± 1.1 | 52.4 | 59.2 | 4.34 ± 0.24 |
|
||||
| `scheme --script ./fib_let.scm 30` | 53.7 ± 0.7 | 52.7 | 55.2 | 4.35 ± 0.23 |
|
||||
| `python3 ./fib.py 30` | 288.4 ± 3.1 | 283.6 | 292.7 | 23.34 ± 1.23 |
|
||||
| `python3 ./fib_let.py 30` | 303.4 ± 1.3 | 300.6 | 304.9 | 24.56 ± 1.27 |
|
||||
| `echo 30 \| wasmtime ./rust_fib/target/wasm32-wasi/debug/rust_let.wasm` | 30.0 ± 0.6 | 28.6 | 31.7 | 2.43 ± 0.14 |
|
||||
| `echo 30 \| wasmtime ./rust_fib/target/wasm32-wasi/release/rust_let.wasm` | 18.9 ± 0.5 | 17.7 | 20.1 | 1.53 ± 0.09 |
|
||||
| `echo 30 \| java -jar ./clojure_fib/target/uberjar/clojure_fib-0.1.0-SNAPSHOT-standalone.jar` | 691.4 ± 13.8 | 674.5 | 721.1 | 55.97 ± 3.10 |
|
||||
| `echo 30 \| java -jar ./clojure_hi/target/uberjar/clojure_hi-0.1.0-SNAPSHOT-standalone.jar` | 658.8 ± 19.1 | 639.7 | 699.9 | 53.33 ± 3.16 |
|
||||
| `echo 30 \| wasmtime ./fib_interpreted.wasm` | 11335.6 ± 65.1 | 11258.2 | 11479.3 | 917.63 ± 47.75 |
|
||||
| `echo 30 \| wasmtime ./fib_interpreted_let.wasm` | 31732.1 ± 161.9 | 31510.3 | 32067.4 | 2568.76 ± 133.49 |
|
||||
| `echo 30 \| wasmtime ./fib_compiled.wasm` | 93.1 ± 0.7 | 91.6 | 94.7 | 7.28 ± 0.34 |
|
||||
| `echo 30 \| wasmtime ./fib_compiled_let.wasm` | 119.1 ± 0.7 | 118.2 | 120.4 | 9.31 ± 0.43 |
|
||||
| `echo 30 \| wasmtime ./builtin_fib.wasm` | 12.8 ± 0.6 | 11.4 | 14.7 | 1.00 |
|
||||
| `echo 30 \| wasmtime ./fib_compiled_manual.wasm` | 257.4 ± 5.8 | 245.4 | 262.8 | 20.12 ± 1.03 |
|
||||
| `scheme --script ./fib.scm 30` | 54.7 ± 1.2 | 52.7 | 57.9 | 4.27 ± 0.22 |
|
||||
| `scheme --script ./fib_let.scm 30` | 54.5 ± 0.9 | 52.7 | 56.1 | 4.26 ± 0.21 |
|
||||
| `python3 ./fib.py 30` | 283.5 ± 4.1 | 280.7 | 294.8 | 22.16 ± 1.07 |
|
||||
| `python3 ./fib_let.py 30` | 299.4 ± 2.1 | 296.9 | 304.7 | 23.41 ± 1.09 |
|
||||
| `echo 30 \| wasmtime ./rust_fib/target/wasm32-wasi/debug/rust_let.wasm` | 29.6 ± 0.6 | 28.5 | 31.4 | 2.31 ± 0.12 |
|
||||
| `echo 30 \| wasmtime ./rust_fib/target/wasm32-wasi/release/rust_let.wasm` | 18.7 ± 0.6 | 17.2 | 20.2 | 1.47 ± 0.08 |
|
||||
| `echo 30 \| java -jar ./clojure_fib/target/uberjar/clojure_fib-0.1.0-SNAPSHOT-standalone.jar` | 572.6 ± 17.4 | 546.0 | 599.5 | 44.76 ± 2.47 |
|
||||
| `echo 30 \| java -jar ./clojure_hi/target/uberjar/clojure_hi-0.1.0-SNAPSHOT-standalone.jar` | 555.2 ± 12.0 | 536.6 | 571.4 | 43.40 ± 2.21 |
|
||||
| `echo 30 \| wasmtime ./fib_interpreted.wasm` | 7716.7 ± 27.4 | 7679.8 | 7761.5 | 603.19 ± 27.93 |
|
||||
| `echo 30 \| wasmtime ./fib_interpreted_let.wasm` | 21414.3 ± 307.9 | 21122.2 | 22246.7 | 1673.87 ± 80.94 |
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
clang
|
||||
kakoune
|
||||
|
||||
hyperfine
|
||||
hyperfine graph-cli
|
||||
(rust-bin.stable.latest.default.override {
|
||||
targets = [ "wasm32-wasi" ];
|
||||
})
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-cfold 5` | 24.5 ± 0.7 | 22.9 | 26.7 | 49.60 ± 32.45 |
|
||||
| `build/java/out/bench/cfold 5` | 73.3 ± 7.0 | 59.0 | 84.9 | 148.58 ± 98.14 |
|
||||
| `build/ocaml/ml-cfold 5` | 0.5 ± 0.3 | 0.2 | 2.2 | 1.00 |
|
||||
| `build/swift/sw-cfold 5` | 2.2 ± 0.5 | 1.7 | 3.7 | 4.40 ± 3.04 |
|
||||
| `build/cpp/cpp-cfold 5` | 0.9 ± 0.4 | 0.5 | 2.9 | 1.79 ± 1.46 |
|
||||
| `build/haskell/hs-cfold 5` | 0.8 ± 0.4 | 0.5 | 2.6 | 1.53 ± 1.23 |
|
||||
| `build/koka/out/bench/kk-cfold 5` | 0.5 ± 0.4 | 0.2 | 2.2 | 1.07 ± 1.06 |
|
||||
| `build/kraken/out/bench/kraken-cfold 5` | 25.6 ± 1.0 | 24.1 | 28.2 | 55.79 ± 44.22 |
|
||||
| `build/java/out/bench/cfold 5` | 73.8 ± 8.0 | 60.1 | 87.3 | 160.57 ± 128.30 |
|
||||
| `build/ocaml/ml-cfold 5` | 0.6 ± 0.5 | 0.2 | 3.2 | 1.27 ± 1.43 |
|
||||
| `build/swift/sw-cfold 5` | 2.0 ± 0.5 | 1.7 | 4.4 | 4.44 ± 3.67 |
|
||||
| `build/cpp/cpp-cfold 5` | 0.9 ± 0.4 | 0.5 | 3.3 | 1.90 ± 1.76 |
|
||||
| `build/haskell/hs-cfold 5` | 0.8 ± 0.4 | 0.5 | 3.8 | 1.77 ± 1.65 |
|
||||
| `build/koka/out/bench/kk-cfold 5` | 0.5 ± 0.4 | 0.2 | 2.8 | 1.00 |
|
||||
|
||||
|
||||
|
||||
@@ -18,28 +18,28 @@
|
||||
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-deriv 8` | 3.544 ± 0.007 | 3.537 | 3.559 | 243.49 ± 8.16 |
|
||||
| `build/java/out/bench/deriv 8` | 0.117 ± 0.021 | 0.084 | 0.132 | 8.07 ± 1.44 |
|
||||
| `build/ocaml/ml-deriv 8` | 0.015 ± 0.000 | 0.014 | 0.017 | 1.00 |
|
||||
| `build/swift/sw-deriv 8` | 0.037 ± 0.001 | 0.036 | 0.039 | 2.54 ± 0.09 |
|
||||
| `build/cpp/cpp-deriv 8` | 0.020 ± 0.001 | 0.020 | 0.024 | 1.41 ± 0.06 |
|
||||
| `build/haskell/hs-deriv 8` | 0.036 ± 0.001 | 0.035 | 0.037 | 2.45 ± 0.09 |
|
||||
| `build/koka/out/bench/kk-deriv 8` | 0.017 ± 0.001 | 0.016 | 0.019 | 1.16 ± 0.06 |
|
||||
| `build/kraken/out/bench/kraken-deriv 8` | 3.228 ± 0.017 | 3.203 | 3.253 | 214.05 ± 14.08 |
|
||||
| `build/java/out/bench/deriv 8` | 0.116 ± 0.019 | 0.087 | 0.130 | 7.68 ± 1.37 |
|
||||
| `build/ocaml/ml-deriv 8` | 0.015 ± 0.001 | 0.014 | 0.018 | 1.00 |
|
||||
| `build/swift/sw-deriv 8` | 0.038 ± 0.001 | 0.036 | 0.040 | 2.51 ± 0.18 |
|
||||
| `build/cpp/cpp-deriv 8` | 0.021 ± 0.001 | 0.020 | 0.024 | 1.40 ± 0.11 |
|
||||
| `build/haskell/hs-deriv 8` | 0.036 ± 0.001 | 0.035 | 0.039 | 2.41 ± 0.17 |
|
||||
| `build/koka/out/bench/kk-deriv 8` | 0.017 ± 0.001 | 0.016 | 0.019 | 1.11 ± 0.08 |
|
||||
|
||||
|
||||
|
||||
## rbnqueens_table.md
|
||||
## nqueens_table.md
|
||||
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-nqueens 10` | 2.231 ± 0.020 | 2.196 | 2.262 | 519.42 ± 46.07 |
|
||||
| `build/java/out/bench/nqueens 10` | 0.058 ± 0.006 | 0.053 | 0.068 | 13.51 ± 1.78 |
|
||||
| `build/ocaml/ml-nqueens 10` | 0.005 ± 0.000 | 0.004 | 0.007 | 1.07 ± 0.15 |
|
||||
| `build/swift/sw-nqueens 10` | 0.016 ± 0.001 | 0.015 | 0.018 | 3.76 ± 0.36 |
|
||||
| `build/cpp/cpp-nqueens 10` | 0.006 ± 0.001 | 0.006 | 0.008 | 1.43 ± 0.18 |
|
||||
| `build/haskell/hs-nqueens 10` | 0.035 ± 0.001 | 0.035 | 0.037 | 8.26 ± 0.74 |
|
||||
| `build/koka/out/bench/kk-nqueens 10` | 0.004 ± 0.000 | 0.004 | 0.006 | 1.00 |
|
||||
| `build/koka/out/bench/kk-nqueens-int 10` | 0.007 ± 0.001 | 0.006 | 0.008 | 1.55 ± 0.19 |
|
||||
| `build/kraken/out/bench/kraken-nqueens 10` | 2.062 ± 0.010 | 2.052 | 2.083 | 469.37 ± 56.39 |
|
||||
| `build/java/out/bench/nqueens 10` | 0.058 ± 0.005 | 0.054 | 0.071 | 13.29 ± 1.92 |
|
||||
| `build/ocaml/ml-nqueens 10` | 0.005 ± 0.001 | 0.004 | 0.007 | 1.06 ± 0.18 |
|
||||
| `build/swift/sw-nqueens 10` | 0.016 ± 0.001 | 0.015 | 0.018 | 3.63 ± 0.47 |
|
||||
| `build/cpp/cpp-nqueens 10` | 0.006 ± 0.000 | 0.006 | 0.008 | 1.34 ± 0.19 |
|
||||
| `build/haskell/hs-nqueens 10` | 0.036 ± 0.001 | 0.035 | 0.037 | 8.09 ± 0.98 |
|
||||
| `build/koka/out/bench/kk-nqueens 10` | 0.004 ± 0.001 | 0.004 | 0.006 | 1.00 |
|
||||
| `build/koka/out/bench/kk-nqueens-int 10` | 0.006 ± 0.000 | 0.006 | 0.008 | 1.47 ± 0.21 |
|
||||
|
||||
|
||||
|
||||
@@ -47,14 +47,14 @@
|
||||
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-rbtree-opt 42000` | 3.806 ± 0.016 | 3.784 | 3.826 | 847.67 ± 62.79 |
|
||||
| `build/kraken/out/bench/kraken-rbtree 42000` | 4.092 ± 0.010 | 4.071 | 4.107 | 911.31 ± 67.43 |
|
||||
| `build/java/out/bench/rbtree 42000` | 0.089 ± 0.017 | 0.076 | 0.131 | 19.78 ± 4.04 |
|
||||
| `build/ocaml/ml-rbtree 42000` | 0.008 ± 0.000 | 0.008 | 0.010 | 1.81 ± 0.15 |
|
||||
| `build/swift/sw-rbtree 42000` | 0.040 ± 0.000 | 0.039 | 0.041 | 8.80 ± 0.66 |
|
||||
| `build/cpp/cpp-rbtree 42000` | 0.005 ± 0.000 | 0.005 | 0.007 | 1.20 ± 0.12 |
|
||||
| `build/haskell/hs-rbtree 42000` | 0.016 ± 0.000 | 0.016 | 0.018 | 3.55 ± 0.27 |
|
||||
| `build/koka/out/bench/kk-rbtree 42000` | 0.004 ± 0.000 | 0.004 | 0.007 | 1.00 |
|
||||
| `build/kraken/out/bench/kraken-rbtree-opt 42000` | 3.469 ± 0.019 | 3.448 | 3.506 | 734.95 ± 106.54 |
|
||||
| `build/kraken/out/bench/kraken-rbtree 42000` | 3.693 ± 0.008 | 3.680 | 3.706 | 782.55 ± 113.38 |
|
||||
| `build/java/out/bench/rbtree 42000` | 0.084 ± 0.006 | 0.078 | 0.096 | 17.89 ± 2.90 |
|
||||
| `build/ocaml/ml-rbtree 42000` | 0.008 ± 0.001 | 0.008 | 0.010 | 1.72 ± 0.27 |
|
||||
| `build/swift/sw-rbtree 42000` | 0.040 ± 0.001 | 0.039 | 0.041 | 8.42 ± 1.23 |
|
||||
| `build/cpp/cpp-rbtree 42000` | 0.006 ± 0.000 | 0.005 | 0.007 | 1.22 ± 0.20 |
|
||||
| `build/haskell/hs-rbtree 42000` | 0.016 ± 0.001 | 0.016 | 0.018 | 3.42 ± 0.51 |
|
||||
| `build/koka/out/bench/kk-rbtree 42000` | 0.005 ± 0.001 | 0.004 | 0.008 | 1.00 |
|
||||
|
||||
|
||||
|
||||
|
||||
8
koka_bench/cfold_table.csv
Normal file
8
koka_bench/cfold_table.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
command,mean,stddev,median,user,system,min,max
|
||||
build/kraken/out/bench/kraken-cfold 5,0.02562897340388349,0.0009520618410776399,0.0255029492,0.014165720388349514,0.011792151067961163,0.0240603252,0.0282042272
|
||||
build/java/out/bench/cfold 5,0.07375791849411763,0.008007022200894338,0.0723335942,0.048192811764705884,0.026958049411764697,0.060136039200000005,0.0872864162
|
||||
build/ocaml/ml-cfold 5,0.0005854921554655877,0.00046821988456268994,0.0004509592000000004,0.00034780809716599196,0.000501115587044535,0.0002351412000000004,0.0031937252
|
||||
build/swift/sw-cfold 5,0.002040977496671491,0.000484474036468368,0.0018989612000000007,0.001081040520984081,0.000974334008683068,0.0016933402000000003,0.004358859200000001
|
||||
build/cpp/cpp-cfold 5,0.0008722757410497984,0.0004229790434446341,0.0007600172000000005,0.0005614333781965008,0.0004325299596231499,0.0005491592000000005,0.0032984202000000003
|
||||
build/haskell/hs-cfold 5,0.0008136906898236097,0.0003997243854159998,0.0007139912000000003,0.00042144314789687945,0.0005508697964721847,0.0004976152000000004,0.0038017152000000003
|
||||
build/koka/out/bench/kk-cfold 5,0.00045934301538461597,0.0003636110244086866,0.00036470120000000033,0.00029318721893491125,0.000447628023668639,0.00017556420000000052,0.0027541282000000003
|
||||
|
@@ -1,9 +1,9 @@
|
||||
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-cfold 5` | 24.5 ± 0.7 | 22.9 | 26.7 | 49.60 ± 32.45 |
|
||||
| `build/java/out/bench/cfold 5` | 73.3 ± 7.0 | 59.0 | 84.9 | 148.58 ± 98.14 |
|
||||
| `build/ocaml/ml-cfold 5` | 0.5 ± 0.3 | 0.2 | 2.2 | 1.00 |
|
||||
| `build/swift/sw-cfold 5` | 2.2 ± 0.5 | 1.7 | 3.7 | 4.40 ± 3.04 |
|
||||
| `build/cpp/cpp-cfold 5` | 0.9 ± 0.4 | 0.5 | 2.9 | 1.79 ± 1.46 |
|
||||
| `build/haskell/hs-cfold 5` | 0.8 ± 0.4 | 0.5 | 2.6 | 1.53 ± 1.23 |
|
||||
| `build/koka/out/bench/kk-cfold 5` | 0.5 ± 0.4 | 0.2 | 2.2 | 1.07 ± 1.06 |
|
||||
| `build/kraken/out/bench/kraken-cfold 5` | 25.6 ± 1.0 | 24.1 | 28.2 | 55.79 ± 44.22 |
|
||||
| `build/java/out/bench/cfold 5` | 73.8 ± 8.0 | 60.1 | 87.3 | 160.57 ± 128.30 |
|
||||
| `build/ocaml/ml-cfold 5` | 0.6 ± 0.5 | 0.2 | 3.2 | 1.27 ± 1.43 |
|
||||
| `build/swift/sw-cfold 5` | 2.0 ± 0.5 | 1.7 | 4.4 | 4.44 ± 3.67 |
|
||||
| `build/cpp/cpp-cfold 5` | 0.9 ± 0.4 | 0.5 | 3.3 | 1.90 ± 1.76 |
|
||||
| `build/haskell/hs-cfold 5` | 0.8 ± 0.4 | 0.5 | 3.8 | 1.77 ± 1.65 |
|
||||
| `build/koka/out/bench/kk-cfold 5` | 0.5 ± 0.4 | 0.2 | 2.8 | 1.00 |
|
||||
|
||||
8
koka_bench/deriv_table.csv
Normal file
8
koka_bench/deriv_table.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
command,mean,stddev,median,user,system,min,max
|
||||
build/kraken/out/bench/kraken-deriv 8,3.2278413210000005,0.01740767902347089,3.2292905841,3.1933452399999998,0.034257739999999995,3.2032992866,3.2526236876
|
||||
build/java/out/bench/deriv 8,0.11575835400909094,0.019273262978641733,0.1296745351,0.1085655309090909,0.0349266309090909,0.0865353106,0.1304724306
|
||||
build/ocaml/ml-deriv 8,0.015079505629761902,0.000988614891785227,0.014482082600000001,0.011475791190476191,0.003446659047619047,0.014101573600000002,0.017913019600000003
|
||||
build/swift/sw-deriv 8,0.03784740196986301,0.001178346124819509,0.0380796456,0.03128894684931507,0.006363245479452052,0.0362137686,0.0399911296
|
||||
build/cpp/cpp-deriv 8,0.021125210100000003,0.0009919750766619636,0.020724476600000003,0.014509170158730164,0.006452071746031745,0.020067840600000005,0.023549971600000004
|
||||
build/haskell/hs-deriv 8,0.03628143836315791,0.0010901249926841099,0.0362098916,0.030539703157894737,0.0055724873684210524,0.0349043376,0.0387515426
|
||||
build/koka/out/bench/kk-deriv 8,0.016795120068085104,0.0006510275545281206,0.016391751600000004,0.013538170496453896,0.003110167659574467,0.016115728600000004,0.019036247600000004
|
||||
|
@@ -1,9 +1,9 @@
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-deriv 8` | 3.544 ± 0.007 | 3.537 | 3.559 | 243.49 ± 8.16 |
|
||||
| `build/java/out/bench/deriv 8` | 0.117 ± 0.021 | 0.084 | 0.132 | 8.07 ± 1.44 |
|
||||
| `build/ocaml/ml-deriv 8` | 0.015 ± 0.000 | 0.014 | 0.017 | 1.00 |
|
||||
| `build/swift/sw-deriv 8` | 0.037 ± 0.001 | 0.036 | 0.039 | 2.54 ± 0.09 |
|
||||
| `build/cpp/cpp-deriv 8` | 0.020 ± 0.001 | 0.020 | 0.024 | 1.41 ± 0.06 |
|
||||
| `build/haskell/hs-deriv 8` | 0.036 ± 0.001 | 0.035 | 0.037 | 2.45 ± 0.09 |
|
||||
| `build/koka/out/bench/kk-deriv 8` | 0.017 ± 0.001 | 0.016 | 0.019 | 1.16 ± 0.06 |
|
||||
| `build/kraken/out/bench/kraken-deriv 8` | 3.228 ± 0.017 | 3.203 | 3.253 | 214.05 ± 14.08 |
|
||||
| `build/java/out/bench/deriv 8` | 0.116 ± 0.019 | 0.087 | 0.130 | 7.68 ± 1.37 |
|
||||
| `build/ocaml/ml-deriv 8` | 0.015 ± 0.001 | 0.014 | 0.018 | 1.00 |
|
||||
| `build/swift/sw-deriv 8` | 0.038 ± 0.001 | 0.036 | 0.040 | 2.51 ± 0.18 |
|
||||
| `build/cpp/cpp-deriv 8` | 0.021 ± 0.001 | 0.020 | 0.024 | 1.40 ± 0.11 |
|
||||
| `build/haskell/hs-deriv 8` | 0.036 ± 0.001 | 0.035 | 0.039 | 2.41 ± 0.17 |
|
||||
| `build/koka/out/bench/kk-deriv 8` | 0.017 ± 0.001 | 0.016 | 0.019 | 1.11 ± 0.08 |
|
||||
|
||||
9
koka_bench/nqueens_table.csv
Normal file
9
koka_bench/nqueens_table.csv
Normal file
@@ -0,0 +1,9 @@
|
||||
command,mean,stddev,median,user,system,min,max
|
||||
build/kraken/out/bench/kraken-nqueens 10,2.0623166218,0.009551074111895983,2.0593069393,2.0404727799999995,0.021842060000000003,2.0515997523,2.0832831273
|
||||
build/java/out/bench/nqueens 10,0.058406372299999995,0.004717987460124654,0.056508992800000005,0.03985344,0.024372280000000007,0.0536264703,0.07064719330000001
|
||||
build/ocaml/ml-nqueens 10,0.004651871207268172,0.0005441691344424572,0.0043773043,0.003691592030075187,0.0009462040601503759,0.0041315253,0.006795576300000001
|
||||
build/swift/sw-nqueens 10,0.015954871960130724,0.0007302157757725501,0.015489802300000001,0.01415315908496732,0.0017036146405228763,0.0152392023,0.0184143013
|
||||
build/cpp/cpp-nqueens 10,0.005883382779999997,0.00042399086689207344,0.005727175300000001,0.004907110666666666,0.0009156344000000003,0.0055121963,0.0079183153
|
||||
build/haskell/hs-nqueens 10,0.03554869054358973,0.000685377529651524,0.035671864799999994,0.03316656205128205,0.0022590276923076928,0.0345012133,0.0373905103
|
||||
build/koka/out/bench/kk-nqueens 10,0.004393838511538464,0.0005274648606533349,0.0041541883,0.00371527519230769,0.0007151098557692308,0.0039706043000000005,0.006415905300000001
|
||||
build/koka/out/bench/kk-nqueens-int 10,0.006443239216666666,0.0004909501447786628,0.0062072118,0.005793044880952378,0.0006946066071428573,0.0060473403,0.0080550003
|
||||
|
10
koka_bench/nqueens_table.md
Normal file
10
koka_bench/nqueens_table.md
Normal file
@@ -0,0 +1,10 @@
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-nqueens 10` | 2.062 ± 0.010 | 2.052 | 2.083 | 469.37 ± 56.39 |
|
||||
| `build/java/out/bench/nqueens 10` | 0.058 ± 0.005 | 0.054 | 0.071 | 13.29 ± 1.92 |
|
||||
| `build/ocaml/ml-nqueens 10` | 0.005 ± 0.001 | 0.004 | 0.007 | 1.06 ± 0.18 |
|
||||
| `build/swift/sw-nqueens 10` | 0.016 ± 0.001 | 0.015 | 0.018 | 3.63 ± 0.47 |
|
||||
| `build/cpp/cpp-nqueens 10` | 0.006 ± 0.000 | 0.006 | 0.008 | 1.34 ± 0.19 |
|
||||
| `build/haskell/hs-nqueens 10` | 0.036 ± 0.001 | 0.035 | 0.037 | 8.09 ± 0.98 |
|
||||
| `build/koka/out/bench/kk-nqueens 10` | 0.004 ± 0.001 | 0.004 | 0.006 | 1.00 |
|
||||
| `build/koka/out/bench/kk-nqueens-int 10` | 0.006 ± 0.000 | 0.006 | 0.008 | 1.47 ± 0.21 |
|
||||
@@ -1,10 +0,0 @@
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-nqueens 10` | 2.231 ± 0.020 | 2.196 | 2.262 | 519.42 ± 46.07 |
|
||||
| `build/java/out/bench/nqueens 10` | 0.058 ± 0.006 | 0.053 | 0.068 | 13.51 ± 1.78 |
|
||||
| `build/ocaml/ml-nqueens 10` | 0.005 ± 0.000 | 0.004 | 0.007 | 1.07 ± 0.15 |
|
||||
| `build/swift/sw-nqueens 10` | 0.016 ± 0.001 | 0.015 | 0.018 | 3.76 ± 0.36 |
|
||||
| `build/cpp/cpp-nqueens 10` | 0.006 ± 0.001 | 0.006 | 0.008 | 1.43 ± 0.18 |
|
||||
| `build/haskell/hs-nqueens 10` | 0.035 ± 0.001 | 0.035 | 0.037 | 8.26 ± 0.74 |
|
||||
| `build/koka/out/bench/kk-nqueens 10` | 0.004 ± 0.000 | 0.004 | 0.006 | 1.00 |
|
||||
| `build/koka/out/bench/kk-nqueens-int 10` | 0.007 ± 0.001 | 0.006 | 0.008 | 1.55 ± 0.19 |
|
||||
9
koka_bench/rbtree_table.csv
Normal file
9
koka_bench/rbtree_table.csv
Normal file
@@ -0,0 +1,9 @@
|
||||
command,mean,stddev,median,user,system,min,max
|
||||
build/kraken/out/bench/kraken-rbtree-opt 42000,3.46882649514,0.01903535508844727,3.4655251397399995,3.4344475799999996,0.034409779999999994,3.44774203324,3.50553504124
|
||||
build/kraken/out/bench/kraken-rbtree 42000,3.6934906713399998,0.008160826758533175,3.69500928224,3.6555425799999997,0.037479280000000004,3.68017488424,3.70586504524
|
||||
build/java/out/bench/rbtree 42000,0.08445577785290326,0.006087159234810223,0.08117201724,0.06655999612903225,0.036940318709677414,0.07817578924,0.09571070124
|
||||
build/ocaml/ml-rbtree 42000,0.00810715936903226,0.0005055780395698214,0.00790811624,0.006620512258064516,0.0013864070250896056,0.00766806324,0.00988651224
|
||||
build/swift/sw-rbtree 42000,0.039756660878888905,0.0007294635125545566,0.03978995624000001,0.037933354999999995,0.0016813694444444448,0.03880163224,0.04143620924000001
|
||||
build/cpp/cpp-rbtree 42000,0.005756671334972069,0.0004074329682226229,0.00561958024,0.004820312402234635,0.0009325445810055876,0.00537530124,0.00726848724
|
||||
build/haskell/hs-rbtree 42000,0.016128212874615383,0.0005819832136555488,0.01581796024,0.01375046717948718,0.0022519930769230776,0.015538341240000001,0.017788777239999998
|
||||
build/koka/out/bench/kk-rbtree 42000,0.00471984031901907,0.0006837380803021701,0.00438226224,0.003706155749318801,0.0010151543324250687,0.00409234024,0.00789442624
|
||||
|
@@ -1,10 +1,10 @@
|
||||
| Command | Mean [s] | Min [s] | Max [s] | Relative |
|
||||
|:---|---:|---:|---:|---:|
|
||||
| `build/kraken/out/bench/kraken-rbtree-opt 42000` | 3.806 ± 0.016 | 3.784 | 3.826 | 847.67 ± 62.79 |
|
||||
| `build/kraken/out/bench/kraken-rbtree 42000` | 4.092 ± 0.010 | 4.071 | 4.107 | 911.31 ± 67.43 |
|
||||
| `build/java/out/bench/rbtree 42000` | 0.089 ± 0.017 | 0.076 | 0.131 | 19.78 ± 4.04 |
|
||||
| `build/ocaml/ml-rbtree 42000` | 0.008 ± 0.000 | 0.008 | 0.010 | 1.81 ± 0.15 |
|
||||
| `build/swift/sw-rbtree 42000` | 0.040 ± 0.000 | 0.039 | 0.041 | 8.80 ± 0.66 |
|
||||
| `build/cpp/cpp-rbtree 42000` | 0.005 ± 0.000 | 0.005 | 0.007 | 1.20 ± 0.12 |
|
||||
| `build/haskell/hs-rbtree 42000` | 0.016 ± 0.000 | 0.016 | 0.018 | 3.55 ± 0.27 |
|
||||
| `build/koka/out/bench/kk-rbtree 42000` | 0.004 ± 0.000 | 0.004 | 0.007 | 1.00 |
|
||||
| `build/kraken/out/bench/kraken-rbtree-opt 42000` | 3.469 ± 0.019 | 3.448 | 3.506 | 734.95 ± 106.54 |
|
||||
| `build/kraken/out/bench/kraken-rbtree 42000` | 3.693 ± 0.008 | 3.680 | 3.706 | 782.55 ± 113.38 |
|
||||
| `build/java/out/bench/rbtree 42000` | 0.084 ± 0.006 | 0.078 | 0.096 | 17.89 ± 2.90 |
|
||||
| `build/ocaml/ml-rbtree 42000` | 0.008 ± 0.001 | 0.008 | 0.010 | 1.72 ± 0.27 |
|
||||
| `build/swift/sw-rbtree 42000` | 0.040 ± 0.001 | 0.039 | 0.041 | 8.42 ± 1.23 |
|
||||
| `build/cpp/cpp-rbtree 42000` | 0.006 ± 0.000 | 0.005 | 0.007 | 1.22 ± 0.20 |
|
||||
| `build/haskell/hs-rbtree 42000` | 0.016 ± 0.001 | 0.016 | 0.018 | 3.42 ± 0.51 |
|
||||
| `build/koka/out/bench/kk-rbtree 42000` | 0.005 ± 0.001 | 0.004 | 0.008 | 1.00 |
|
||||
|
||||
@@ -1625,7 +1625,7 @@
|
||||
(array 0 (array))))
|
||||
(flattened (apply concat (slice inner start_idx end_idx)))
|
||||
;(_ (println "result_t " result_t " flattened " flattened " then_section " then_section " else_section " else_section))
|
||||
) (concat flattened (array (lambda (name_dict) (concat (dlet ( (_ (true_print "inner if " name " " inner)) ) (array))
|
||||
) (concat flattened (array (lambda (name_dict) (concat ;(dlet ( (_ (true_print "inner if " name " " inner)) ) (array))
|
||||
(array 'if result_t (block_like_body name_dict name then_section))
|
||||
(if (!= nil else_section) (array (block_like_body name_dict name else_section))
|
||||
(array)))))))))
|
||||
@@ -1819,7 +1819,7 @@
|
||||
uses_de
|
||||
(then (i64.const (bor #b100000 comb_tag)))
|
||||
(else (i64.const (bor #b000000 comb_tag))))))))
|
||||
(combine_env_comb_val (lambda (env_val func_val) (bor (band -8 env_val)) func_val))
|
||||
(combine_env_comb_val (lambda (env_val func_val) (bor (band -8 env_val) func_val)))
|
||||
(combine_env_code_comb_val_code (lambda (env_code func_val) (i64.or (i64.and env_code (i64.const -8)) (i64.const func_val))))
|
||||
|
||||
(mod_fval_to_wrap (lambda (it) (cond ((= nil it) it)
|
||||
@@ -1891,6 +1891,7 @@
|
||||
(global '$num_mallocs '(mut i32) (i32.const 0))
|
||||
(global '$num_sbrks '(mut i32) (i32.const 0))
|
||||
(global '$num_frees '(mut i32) (i32.const 0))
|
||||
(global '$num_interned_symbols '(mut i32) (i32.const 0))
|
||||
|
||||
(dlet (
|
||||
(_ (true_print "beginning of dlet"))
|
||||
@@ -1954,6 +1955,17 @@
|
||||
((datasi memo quote_sym_val) (compile-symbol-val datasi memo 'quote))
|
||||
((datasi memo unquote_sym_val) (compile-symbol-val datasi memo 'unquote))
|
||||
|
||||
((datasi memo pre_read_val) (compile-string-val datasi memo "\nPreRead\n"))
|
||||
((datasi memo post_read_val) (compile-string-val datasi memo "\nPostRead\n"))
|
||||
((datasi memo pre_parse_val) (compile-string-val datasi memo "\nPreParse\n"))
|
||||
((datasi memo post_parse_val) (compile-string-val datasi memo "\nPostParse\n"))
|
||||
((datasi memo pre_symbol_intern_val) (compile-string-val datasi memo "\npre symbol intern\n"))
|
||||
((datasi memo pre_eval_val) (compile-string-val datasi memo "\npre eval\n"))
|
||||
((datasi memo post_eval_val) (compile-string-val datasi memo "\npost eval\n"))
|
||||
((datasi memo pre_inner_eval_val) (compile-string-val datasi memo "\n inner pre eval\n"))
|
||||
((datasi memo post_inner_eval_val) (compile-string-val datasi memo "\n inner post eval\n"))
|
||||
((datasi memo pre_write_callback) (compile-string-val datasi memo "\n pre write callback\n"))
|
||||
|
||||
(_ (true_print "made string/symbol-vals"))
|
||||
|
||||
; 0 is get_argc, 1 is get_args, 2 is path_open, 3 is fd_read, 4 is fd_write
|
||||
@@ -2429,25 +2441,29 @@
|
||||
(call '$free (local.get '$iov))
|
||||
))))
|
||||
(_ (true_print "made print"))
|
||||
((k_dup func_idx funcs) (array func_idx (+ 1 func_idx) (concat funcs (func '$dup '(param $bytes i64) '(result i64) '(local $ptr i32) '(local $old_val i32)
|
||||
((k_dup func_idx funcs) (array func_idx (+ 1 func_idx) (concat funcs (func '$dup '(param $bytes i64) '(result i64) '(local $ptr i32)
|
||||
;(call '$print (mk_int_code_i64 (local.get '$bytes)))
|
||||
(local.set '$ptr (call '$get_ptr (local.get '$bytes)))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
;(call '$print (mk_int_code_i32u (local.get '$ptr)))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
(_if '$not_null
|
||||
(i32.ne (i32.const 0) (local.get '$ptr))
|
||||
(then
|
||||
(local.set '$ptr (i32.sub (local.get '$ptr) (i32.const 8)))
|
||||
(i32.store 4 (local.get '$ptr) (i32.add (local.get '$old_val) (i32.const 1)))
|
||||
(i32.store 4 (local.get '$ptr) (i32.add (i32.load 4 (local.get '$ptr)) (i32.const 1)))
|
||||
)
|
||||
)
|
||||
(local.get '$bytes)
|
||||
))))
|
||||
; currenty func 16 in profile
|
||||
((k_drop func_idx funcs) (array func_idx (+ 1 func_idx) (concat funcs (func '$drop '(param $it i64) '(local $ptr i32) '(local $tmp_ptr i32) '(local $old_val i32) '(local $new_val i32) '(local $i i32)
|
||||
; currenty func 16( 18?! ) in profile
|
||||
((k_drop func_idx funcs) (array func_idx (+ 1 func_idx) (concat funcs (func '$drop '(param $it i64) '(local $ptr i32) '(local $tmp_ptr i32) '(local $new_val i32) '(local $i i32)
|
||||
(local.set '$ptr (call '$get_ptr (local.get '$it)))
|
||||
(_if '$not_null
|
||||
(i32.ne (i32.const 0) (local.get '$ptr))
|
||||
(then
|
||||
(_if '$zero
|
||||
(i32.eqz (local.tee '$new_val (i32.sub (local.get '$old_val) (i32.const 1))))
|
||||
(i32.eqz (local.tee '$new_val (i32.sub (i32.load (i32.add (i32.const -4) (local.get '$ptr))) (i32.const 1))))
|
||||
(then
|
||||
(_if '$needs_inner_drop
|
||||
(is_not_type_code string_tag (local.get '$it))
|
||||
@@ -3325,10 +3341,13 @@
|
||||
(i64.eq (local.get '$traverse) (i64.const nil_val))
|
||||
(then
|
||||
(local.set '$potential (toggle_sym_str_code_norc (call '$dup (local.get '$looking_for))))
|
||||
;(local.set '$potential (toggle_sym_str_code (call '$dup (local.get '$looking_for))))
|
||||
(global.set '$symbol_intern (call '$array2_alloc (local.get '$potential) (global.get '$symbol_intern)))
|
||||
(global.set '$num_interned_symbols (i32.add (i32.const 1) (global.get '$num_interned_symbols)))
|
||||
)
|
||||
)
|
||||
(local.get '$potential)
|
||||
;(call '$dup (local.get '$potential))
|
||||
drop_p_d
|
||||
))))
|
||||
((func_idx funcs) (array (+ 1 func_idx) (concat funcs (func '$dummy '(result i64) (i64.const 0)))))
|
||||
@@ -3803,10 +3822,11 @@
|
||||
(memory.copy (local.get '$aptr)
|
||||
(local.get '$bptr)
|
||||
(local.get '$asiz))
|
||||
|
||||
; Inefficient hack
|
||||
(local.set '$result (call '$str-to-symbol
|
||||
;params
|
||||
(call '$array1_alloc (mk_string_code_rc (local.get '$aptr) (local.get '$asiz)))
|
||||
(call '$array1_alloc (mk_string_code_rc (local.get '$asiz) (local.get '$aptr)))
|
||||
; dynamic env
|
||||
(i64.const nil_val)
|
||||
; static env
|
||||
@@ -3895,9 +3915,11 @@
|
||||
(ensure_not_op_n_params_set_ptr_len i32.ne 1)
|
||||
(type_assert 0 string_tag k_read_msg_val)
|
||||
(local.set '$str (i64.load (local.get '$ptr)))
|
||||
;(call '$print (i64.const pre_parse_val))
|
||||
(global.set '$phl (extract_size_code (local.get '$str)))
|
||||
(global.set '$phs (extract_ptr_code (local.get '$str)))
|
||||
(local.set '$result (call '$parse_helper))
|
||||
;(call '$print (i64.const post_parse_val))
|
||||
(_if '$was_empty_parse
|
||||
(i32.or (i64.eq (i64.const error_parse_value) (local.get '$result))
|
||||
(i32.or (i64.eq (i64.const empty_parse_value) (local.get '$result))
|
||||
@@ -3967,10 +3989,13 @@
|
||||
(_if '$is_symbol '(result i64)
|
||||
(is_type_code symbol_tag (local.get '$it))
|
||||
(then
|
||||
;(call '$print (local.get '$it))
|
||||
; look it up in the environment
|
||||
; Env object is <key_array_value><value_array_value><upper_env_value>
|
||||
; each being the full 64 bit objects.
|
||||
(local.set '$current_env (local.get '$env))
|
||||
;(call '$print (local.get '$current_env))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
|
||||
(block '$outer_loop_break
|
||||
(_loop '$outer_loop
|
||||
@@ -3999,6 +4024,8 @@
|
||||
)
|
||||
; try in upper
|
||||
(local.set '$current_env (i64.load 16 (local.get '$env_ptr)))
|
||||
;(call '$print (mk_int_code_i64 (local.get '$current_env)))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
(br_if '$outer_loop (i64.ne (i64.const nil_val) (local.get '$current_env)))
|
||||
)
|
||||
; Ended at upper case
|
||||
@@ -4017,10 +4044,12 @@
|
||||
(then (call '$print (i64.const k_call_zero_len_msg_val))
|
||||
(unreachable)))
|
||||
; its a call, evaluate combiner first then
|
||||
;(call '$print (i64.const pre_inner_eval_val))
|
||||
(local.set '$comb (call '$eval_helper (i64.load 0 (local.get '$ptr)) (local.get '$env)))
|
||||
;(call '$print (i64.const post_inner_eval_val))
|
||||
; check to make sure it's a combiner
|
||||
(_if '$isnt_function
|
||||
(is_type_code comb_tag (local.get '$comb))
|
||||
(is_not_type_code comb_tag (local.get '$comb))
|
||||
(then (call '$print (i64.const k_call_not_a_function_msg_val))
|
||||
(call '$print (mk_int_code_i64 (local.get '$comb)))
|
||||
(call '$print (local.get '$comb))
|
||||
@@ -4243,7 +4272,11 @@
|
||||
)
|
||||
|
||||
|
||||
;(call '$print (i64.const pre_read_val))
|
||||
(local.set '$tmp_read (call '$read-string (call '$array1_alloc (local.get '$str)) (i64.const nil_val) (i64.const nil_val)))
|
||||
;(call '$print (i64.const post_read_val))
|
||||
;(call '$print (local.get '$tmp_read))
|
||||
;(call '$print (i64.const post_read_val))
|
||||
(_if '$arr (is_type_code array_tag (local.get '$tmp_read))
|
||||
(then
|
||||
(_if '$arr (i32.ge_u (i32.const 2) (extract_size_code (local.get '$tmp_read)))
|
||||
@@ -4261,7 +4294,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
;(call '$print (i64.const pre_eval_val))
|
||||
(local.set '$tmp_evaled (call '$eval_helper (local.get '$tmp_read) (local.get '$d)))
|
||||
;(call '$print (i64.const post_eval_val))
|
||||
(call '$print (local.get '$tmp_evaled))
|
||||
(call '$drop (local.get '$tmp_read))
|
||||
(call '$drop (local.get '$tmp_evaled))
|
||||
@@ -4961,7 +4996,7 @@
|
||||
((c_loc c_len datasi) (alloc_data (apply concat all_hex) datasi))
|
||||
(_ (true_print "alloced"))
|
||||
(result (mk_env_value c_loc))
|
||||
(_ (true_print "made result"))
|
||||
(_ (true_print "made result " result))
|
||||
(memo (put memo (.hash c) result))
|
||||
) (array result nil nil (array datasi funcs memo env pectx inline_locals)))))))))
|
||||
|
||||
@@ -5158,9 +5193,11 @@
|
||||
))
|
||||
(_ (print_strip "returning " func_value " for " c))
|
||||
(_ (if (not (int? func_value)) (error "BADBADBADfunc")))
|
||||
|
||||
) (mif env_val (array (combine_env_comb_val env_val func_value) nil (mif func_err (str func_err ", from compiling comb body") (mif env_err (str env_err ", from compiling comb env") nil)) ctx)
|
||||
(array nil (combine_env_code_comb_val_code env_code (mod_fval_to_wrap func_value)) (mif func_err (str func_err ", from compiling comb body (env as code)") (mif env_err (str env_err ", from compiling comb env (as code)") nil)) ctx))
|
||||
(full_result (mif env_val
|
||||
(array (combine_env_comb_val env_val func_value) nil (mif func_err (str func_err ", from compiling comb body") (mif env_err (str env_err ", from compiling comb env") nil)) ctx)
|
||||
(array nil (combine_env_code_comb_val_code env_code (mod_fval_to_wrap func_value)) (mif func_err (str func_err ", from compiling comb body (env as code)") (mif env_err (str env_err ", from compiling comb env (as code)") nil)) ctx)))
|
||||
(_ (mif env_val (true_print "total function " (idx full_result 0) " based on " env_val " and " func_value)))
|
||||
) full_result
|
||||
))))
|
||||
|
||||
(true (error (str "Can't compile-inner impossible " c)))
|
||||
@@ -5417,6 +5454,14 @@
|
||||
(global.set '$debug_func_to_call (call '$dup (local.get '$tmp)))
|
||||
(global.set '$debug_params_to_call (call '$dup (local.get '$result)))
|
||||
(global.set '$debug_env_to_call (i64.const root_marked_env_val))
|
||||
;(call '$print (i64.const pre_write_callback))
|
||||
;(call '$print (local.get '$tmp))
|
||||
;(call '$print (extract_func_env_code (local.get '$tmp)))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
;(call '$print (mk_int_code_i64 (local.get '$tmp)))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
;(call '$print (mk_int_code_i64 (extract_func_env_code (local.get '$tmp))))
|
||||
;(call '$print (i64.const newline_msg_val))
|
||||
(call '$drop (local.get '$it))
|
||||
(local.set '$it (call_indirect
|
||||
;type
|
||||
@@ -5495,7 +5540,9 @@
|
||||
(call '$drop (global.get '$debug_func_to_call))
|
||||
(call '$drop (global.get '$debug_params_to_call))
|
||||
(call '$drop (global.get '$debug_env_to_call))
|
||||
;(call '$drop (global.get '$symbol_intern))
|
||||
|
||||
(mk_int_code_i32s (global.get '$num_interned_symbols))
|
||||
(mk_int_code_i32s (global.get '$num_frees))
|
||||
(mk_int_code_i32s (global.get '$num_mallocs))
|
||||
(mk_int_code_i32s (global.get '$num_sbrks))
|
||||
@@ -5506,6 +5553,9 @@
|
||||
(call '$print )
|
||||
(call '$print (i64.const newline_msg_val))
|
||||
(call '$print )
|
||||
(call '$print (i64.const newline_msg_val))
|
||||
(call '$print )
|
||||
(call '$print (i64.const newline_msg_val))
|
||||
))
|
||||
(_ (true_print "Beginning all symbol print"))
|
||||
((datasi symbol_intern_val) (foldl-tree (dlambda ((datasi a) k v) (mif (and (array? k) (marked_symbol? k))
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
test17 (or false 1 "a" true)
|
||||
test18 (and 1 "a" nil true)
|
||||
monad (array 'write 1 "test_self_out2" (vau (written code) (array (or written code) test17 (or false nil 0) (and written code) test18 (and nil 0 false))))
|
||||
monad (array 'write 1 "test_self_out2" (vau (written code) (array 'exit (or written code) test17 (or false nil 0) (and written code) test18 (and nil 0 false))))
|
||||
|
||||
)
|
||||
monad
|
||||
|
||||
Reference in New Issue
Block a user