https://github.com/squiddev/waluaigi
The PUC Lua VM, compiled to Java.
https://github.com/squiddev/waluaigi
Last synced: about 1 year ago
JSON representation
The PUC Lua VM, compiled to Java.
- Host: GitHub
- URL: https://github.com/squiddev/waluaigi
- Owner: SquidDev
- License: bsd-3-clause
- Created: 2021-05-03T16:49:10.000Z (about 5 years ago)
- Default Branch: dev
- Last Pushed: 2021-05-03T16:51:41.000Z (about 5 years ago)
- Last Synced: 2025-02-12T06:21:20.765Z (over 1 year ago)
- Language: C
- Size: 314 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Waluaigi
The PUC Lua VM, compiled to Java.
## Background
Waluaigi is an experimental Lua implementation for the Java Virtual Machine
(JVM). Unlike other Lua runtimes targeting the JVM, such as [LuaJ] or [Cobalt],
Waluaigi, this uses the sources of the original PUC Lua VM, ensuring an
accuarate experience.
To do this, the C Lua VM is compiled to WebAssembly and then Java, using
[asmble].
## Performance
Unfortunately, this comes at a cost. Waluaigi is about 10x slower than Cobalt
and 100x time slower than PUC Lua. This testing was done using
`scripts/bench.lua`. It's not exactly accurate or representative, but gives a
rough idea.
| Runtime | Iterations |
|:---------|-----------:|
| PUC Lua | 5174 |
| Cobalt | 570 |
| Waluaigi | 50 |
[LuaJ]: https://github.com/luaj/luaj/
[Cobalt]: https://github.com/SquidDev/Cobalt
[asmble]: https://github.com/fluencelabs/asmble