_
|
c452116c0a
|
📝 doc
|
2023-10-04 21:04:42 -05:00 |
_
|
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 |
_
|
b2e8c878d1
|
📝 doc: failed optimization
|
2023-10-04 03:17:24 -05:00 |
_
|
6db6dc3725
|
📝 doc: failed optimization
|
2023-10-04 03:05:21 -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 |
_
|
32ddedc066
|
📝 doc: document attempted and planned optimizations
|
2023-10-03 16:17:34 -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 |
_
|
543cf58b1e
|
📦 build: this isn't needed in the code
There's an env var that's better for flamegraph, and this was in the wrong
place anyway.
|
2023-10-02 01:03:09 -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 |
_
|
51b04be1ab
|
🐛 bug: PUC Lua says divides always make floats, even int / int
|
2023-10-01 15:03:37 -05:00 |
_
|
eb024eed3e
|
🚧 wip: only 5.8x slower than PUC, but brittle
|
2023-10-01 02:46:10 -05:00 |
_
|
5331b5a4d2
|
♻️ refactor: mark where we can optimize tables for int keys
n-body actually doesn't need this, it's bottlenecked on string key
reads and writes.
|
2023-10-01 02:12:17 -05:00 |
_
|
4e9f9a74c5
|
📝 doc: benchmark results
|
2023-10-01 02:00:23 -05:00 |
_
|
c50c16b9db
|
🐛 bug: fix io.write and take off the `max_iters` restriction
The math is lining up with PUC Lua and LuaJIT. Now I can actually check
the speed.
|
2023-10-01 01:36:40 -05:00 |
_
|
fb46ede3ca
|
🐛 bug: fix OP_TEST ignoring `k`
I didn't know what `k` was a few days ago.
|
2023-10-01 01:33:47 -05:00 |
_
|
a9820677e9
|
🐛 bug: fix some stuff in calling native functions
|
2023-10-01 01:06:15 -05:00 |
_
|
06638574f7
|
🔊 improve error message for this error with the missing math lib
|
2023-09-30 23:41:12 -05:00 |
_
|
bccd5fc3a7
|
Merge remote-tracking branch 'gitea/main'
|
2023-09-30 10:13:03 -05:00 |
_
|
be9cd1e5ac
|
📝 doc: improve error message
|
2023-09-30 10:12:31 -05:00 |
_
|
d0f9014f03
|
📝 doc: improve error message
|
2023-09-30 10:09:37 -05:00 |
_
|
ae858ebe70
|
🐛 bug: patch loader
|
2023-09-30 10:08:13 -05:00 |
_
|
46cf5837bc
|
🐛 bug: impl opcodes
|
2023-09-30 10:05:07 -05:00 |
_
|
e59dd85246
|
🐛 bug: impl opcodes
|
2023-09-30 10:01:30 -05:00 |
_
|
1943f0a40b
|
🐛 bug: impl OP_ADDI
|
2023-09-30 09:57:51 -05:00 |
_
|
81743108c3
|
🐛 bug: implement OP_MULK
|
2023-09-30 09:52:42 -05:00 |
_
|
64384e7ca5
|
🐛 bug: fix loader using the old broken `parse_int` for instruction count
|
2023-09-30 09:49:36 -05:00 |