Commit Graph

28 Commits (main)

Author SHA1 Message Date
_ a9f3085166 📈 performance: incrementing PC right after fetch seems to get it under 2900 ms 2023-10-04 18:29:58 -05:00
_ cd0cf33dfc :chart_with_upwards_trends: this seems to get it under 3 seconds sometimes 2023-10-04 18:15:57 -05:00
_ 209b1ff7b5 shrink interned strings to u32, no change in performance 2023-10-04 17:29:51 -05:00
_ 465ee55183 🚧 wip: interning Tables
Performs better but the tests are all busted, won't even compile.
The instruction decoding change messed that up too. Might roll that back.
2023-10-04 02:42:55 -05:00
_ 43a3294c57 🚧 wip: decode Instructions lazily
I don't like it. I need to step back and be more methodical about optimizing.
2023-10-03 15:59:06 -05:00
_ 47d5fe3df1 test: check how big Instruction is 2023-10-03 12:29:47 -05:00
_ 3698feeb90 🐛 bug: fix tests 2023-10-03 11:58:29 -05:00
_ 55ea0c233e not really faster. Maybe more clear. 2023-10-02 20:28:36 -05:00
_ 7878efc235 🚧 wip: Vec seems to be faster than BTreeMap here, slightly 2023-10-02 20:13:43 -05:00
_ 4e23f51634 🚧 this seemed to improve perf a little but idk why 2023-10-02 19:27:30 -05:00
_ b35dc346e8 📈 performance: caching the current block helps, barely 2023-10-02 19:14:54 -05:00
_ 52df317326 measuring 2023-10-02 18:54:09 -05:00
_ 11fd5b6cbc 🚧 wip: always keep at least one stack frame handy
This removes a bunch of unwraps but doesn't make it any faster
2023-10-02 18:20:03 -05:00
_ 66fe54adef remove unused things 2023-10-02 17:55:17 -05:00
_ e11026a553 📈 performance: down to 800 ms / 3.3x by changing PC handling 2023-10-02 17:39:33 -05:00
_ 130330b688 down to 4.2x slower than PUC Lua, but the code became ugly to behold 2023-10-02 16:14:34 -05:00
_ eb32a53d18 🚧 wip: add string interning, but a few things broke 2023-10-02 14:52:38 -05:00
_ 08bbb53900 add StringInterner 2023-10-02 12:27:25 -05:00
_ b9865b7174 🚧 wip 2023-10-02 12:13:54 -05:00
_ 247d6b7a24 test: proving to myself that string interning is a good idea 2023-10-02 11:57:57 -05:00
_ bba98043c7 test: this script revealed the recent bug in call/return 2023-10-02 11:06:08 -05:00
_ b88735a61b 🐛 bug: fix a bug in OP_CALL when b or c is 0 2023-10-02 00:59:30 -05:00
_ 8baea40e82 ♻️ refactor: extract `State::eval` for testing bugs the REPL finds 2023-10-01 23:07:52 -05:00
_ f9e8f26ac3 star: add a primitive REPL
This turned out a few new bugs in the VM
2023-10-01 22:50:06 -05:00
_ b8dd59cd7c ♻️ refactor: match the Lua CLI API more closely 2023-10-01 21:26:47 -05:00
_ db84365c27 ♻️ refactor: State owns its Chunk now 2023-10-01 20:31:30 -05:00
_ 700b273a11 test: fix up some bugs to support an embedding example 2023-10-01 19:50:50 -05:00
_ ffb1950f80 ♻️ refactor: split up the VM from the CLI program 2023-10-01 17:56:06 -05:00