threaded-code-benchmark
piccolo
threaded-code-benchmark | piccolo | |
---|---|---|
3 | 6 | |
32 | 1,464 | |
- | 15.5% | |
0.0 | 8.9 | |
over 2 years ago | 2 days ago | |
C | Rust | |
MIT License | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
threaded-code-benchmark
-
I 10x'd a TI-84 emulator's speed by replacing a switch-case
https://github.com/shadowofneptune/threaded-code-benchmark
The Python VM will switch to computed goto if it's available on the C compiler.
-
Writing a minimal Lua implementation with a virtual machine from scratch in Rust
You have to call the function. This adds a new stack frame, which then is closed when the function concludes. I posted a benchmark of various techniques of VM implementation here today. Just calling the function will always be the slowest due to the work the processor has to do for each instruction.
https://github.com/shadowofneptune/threaded-code-benchmark
Basically, you're better off with a massive switch statement, even if it's ugly in terms of program organization.
- Show HN: Different ways to implement virtual machines, benchmarked
piccolo
- Piccolo – experimental Lua VM implemented in pure Rust
-
Lua: The Little Language That Could
There's Lua implementation [1] in pure Rust, by the way.
[1] https://github.com/triplehex/piccolo
-
Do Rust and Lua work well together?
The rust ecosystem is doubling down on wasm with little to no focus on lua (some would even prefer to build their own programming language) that doesn’t mean lua is pretty bad for the rust ecosystem it’s just that there’s no much focus as to compared to wasm Example I noticed is https://github.com/kyren/luster
- Writing a minimal Lua implementation with a virtual machine from scratch in Rust
- Lua: Good, Bad, and Ugly Parts
-
Scripting Languages of the Future
Tossing my hat in for Passerine [1]. Gorgeous ML inspired syntax. Built for scripting Rust applications.
Dreaming here: Lua is a fantastic scripting language, but the Rust FFI isn’t as ergonomic as it could be. Enter Luster [2], which is basically LuaJIT rewritten in Rust.
Embedding a scripting language in a Rust application gives you tons of power (e.g. scripting Rust structs from Lua [3]), and setting this up isn’t terribly difficult.
[1] https://github.com/vrtbl/passerine
[2]: https://github.com/kyren/luster
[3]: https://git.sr.ht/~ioiojo/kiwi
What are some alternatives?
janet - A dynamic language and bytecode vm
lua-cmake - Embed lua with CMake
MoarVM - A VM with adaptive optimization and JIT compilation, built for Rakudo
passerine - A small extensible programming language designed for concise expression with little code.
mal - mal - Make a Lisp
lua-lockbox - A collection of cryptographic primitives written in pure Lua
moonsharp - An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
empirical-lang - A language for time-series analysis
gopher-lua - GopherLua: VM and compiler for Lua in Go
lanarts - lanarts is an open source RPG that attempts to play like a real-time rogue-like
imapfilter - IMAP mail filtering utility