Update README.md
This commit is contained in:
parent
0165980111
commit
8afa09cbf0
17
README.md
17
README.md
@ -2,12 +2,21 @@
|
||||
|
||||
This is an attempt to create a Lua virtual machine capable of true multithreading. Once the nctref compiler matures enough, I intend to plug it into Impotent as a JIT.
|
||||
|
||||
Completed features:
|
||||
|
||||
1. Per-thread heap /w special heap for exited threads called the "dead heap"
|
||||
2. Naive mark & sweep GC
|
||||
3. Thread-safe user interface (but barely tested)
|
||||
|
||||
Impotent is still work-in-progress:
|
||||
|
||||
1. Integers are 32-bit only
|
||||
2. No error handling, meaning any mistake will either crash the VM or make it silently fail
|
||||
3. No standard library other than `print`
|
||||
3. The only standard library is `print` and it doesn't work correctly
|
||||
4. Tables cannot be resized
|
||||
5. Most operators are missing
|
||||
6. Integers and floats are always separate table keys (unlike real Lua where e.g. `5` and `5.0` are considered identical)
|
||||
7. The GC isn't real and everything leaks
|
||||
5. Most operators are still missing
|
||||
6. The user API is completely different from that of PoC Lua
|
||||
|
||||
Impotent requires C11 and an architecture with 8-byte atomic operations, but otherwise it is completely cross-platform.
|
||||
|
||||
Performance-wise, it's surprisingly competitive with PoC Lua, considering how quickly it was made up to the point of writing this README (~2 weeks). By far the worst bottleneck is the GC, since it requires all threads and their heaps to synchronize.
|
||||
|
Loading…
Reference in New Issue
Block a user