Commit Graph

25 Commits

Author SHA1 Message Date
Sharjeel Khan 2146ecd761 Commit current things 2022-11-11 00:20:05 -05:00
Sharjeel Khan 70f151222e Picolisp two examples 2022-11-11 00:19:32 -05:00
Sharjeel Khan a7248daca0 Added new benches and will add the rest of them 2022-11-08 22:49:43 -05:00
Nathan Braswell 82f652b178 first paper data 2022-07-09 13:58:11 -04:00
Nathan Braswell 7145f8865e benchmark improvements 2022-07-07 13:10:14 -04:00
Nathan Braswell 196b0865c4 Benchmark adjustments and plotting 2022-07-06 21:26:10 -04:00
Nathan Braswell e95feb9309 tiny perceus fix, but mostly wrote match+rb-tree f-expr/macro for newLisp and benchmarked it. kraken 5-15x faster than newlisp-rbtree-macro, 137x faster than newlisp-rbtree-fexpr. I was suprised at first that the macro and fexpr versions were so close at 8.7x (while interpreted kraken rbtree is 50,000x slower), but after thinking about it it makes sense - the Kraken version has slowdown exponential in the multiple levels of f-exprs ('match' is an fexpr, but then so is 'let' and 'and' and 'lambda'), whereas the newLisp f-expr runtime expands to fast builtins ('let', 'and', etc). And all that exponential f-expr slowdown gets compiled away in Kraken! 2022-07-06 02:34:48 -04:00
Nathan Braswell b1817dfdc3 Add newLisp, our second interpreted lisp implementation that supports f-exprs today, (not in NixOS, but pretty easy to build, so inlined deriviation right in flake.nix). Implemented simple fib/fib-let test. 2022-07-03 00:50:00 -04:00
Nathan Braswell ace81e362e Inline array? and len, add PicoLisp fib & fib-let benchmarks 2022-07-02 23:49:47 -04:00
Nathan Braswell 4663982f1b Move kraken,scheme,python,cpp fib tests over to koka_bench, add WAVM as a tested compiler backend for the Kraken benchmarks 2022-06-28 00:38:37 -04:00
Nathan Braswell 999d21746e inline dup and most of drop, relative added to benchmarks, added first basic run (without any of the complex stuff implemented) of local type inference and use it to do word value equality if possible 2022-06-27 01:48:07 -04:00
Nathan Braswell ae320ba31b Most things seem to be working now, with new benchmarks. Not sure if a small memory leak is now or was there before 2022-06-23 01:00:27 -04:00
Nathan Braswell 04f3b2dbd9 Fixed static type errors, test runs now. Rbtree test has a dynamic indirect call failure, so there are still more issues to find 2022-06-22 14:04:56 -04:00
Nathan Braswell dda581f839 Initial interning of symbols 2022-06-20 17:20:50 -04:00
Nathan Braswell c7f3ee0e18 Formatting fix, end to end test run 2022-05-19 00:56:18 -04:00
Nathan Braswell 3eea883ebd Combine benchmark tables 2022-05-19 00:49:09 -04:00
Nathan Braswell fefae631e2 Add java ocaml and swift tests 2022-05-19 00:43:27 -04:00
Nathan Braswell 62c0958006 Added haskell versions (parameterized by CLI argument) 2022-05-18 23:59:18 -04:00
Nathan Braswell 4481784666 Update README.md 2022-05-18 05:31:43 +00:00
Nathan Braswell a0c4eb3eaf sigh, accidentally committed .wasm 2022-05-18 01:29:23 -04:00
Nathan Braswell 81a54b5a06 Old .gitignore actually prevent the kraken versions of the benchmarks from being comitted, scarily enough - also some of the c fib tests 2022-05-18 01:28:49 -04:00
Nathan Braswell 34c6d01c31 Implement deriv benchmark 2022-05-18 01:26:08 -04:00
Nathan Braswell 7fef7eba85 Add cfold benchmark - can't go over 5 (though Koka uses 20) because wasm runs out of stack. Not entirely sure how to handle that - I imagine we're emitting far to much on the stack frame, but also I would hope wasmtime would optimize it, and I additionally can't find a way to raise wasmtime's limit from the cli... It is worth noting that Koka notes that cfold is a benchmark that can exhaust the stack 2022-05-17 23:34:46 -04:00
Nathan Braswell e6a1ad5bf3 Add nqueens benchmark (new kraken impl, with koka and cpp moved over from koka_bench) 2022-05-16 23:00:56 -04:00
Nathan Braswell b1b060292e Moved over first rbtree test from koka_bench and integrated Kraken via compiler wrapper script that calls the partial_evaluator / compiler and then emits a wrapper script that runs the resulting wasm via wasmtime. 2022-05-16 02:33:10 -04:00