luajit-remake
llvm-project
luajit-remake | llvm-project | |
---|---|---|
7 | 1 | |
1,100 | 1 | |
0.8% | - | |
7.1 | 10.0 | |
3 months ago | over 2 years ago | |
C++ | ||
- | - |
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.
luajit-remake
-
Python 3.13 Gets a JIT
It's really cool that Haoran Xu copy-and-patch technique is catching on, I remember discovering it through his blog posts on applying these techniques to his own LuaJIT remake project[0][1] (and I probably found those through a post here). I highly recommend them if you're into that sort of thing, BTW. They're incredible deep dives, but he uses the details-element to keep the metaphorical descents into Mariana Trench optional so it doesn't get too overwhelming.
I even had the privilege of congratulating him the 1000th star of the GH repo[2], where he reassured me and others that he's still working on it despite the long pause after the last blog post, and that this mainly has to do with behind-the-scenes rewrites that make no sense to publish in part.
[0] https://sillycross.github.io/2022/11/22/2022-11-22/
[1] https://sillycross.github.io/2023/05/12/2023-05-12/
[2] https://github.com/luajit-remake/luajit-remake/issues/11
- LuaJIT Remake: An ongoing attempt to re-engineer LuaJIT from scratch
-
Building the fastest Lua interpreter.. automatically
This seems like an awesome way of writing faster interpreters – i.e. not in assembly, but in C++ snippets you stitch together with a tool.
I did peek at the deegen tool a bit, and it seems quite large? https://github.com/luajit-remake/luajit-remake/tree/master/d...
I would be interested in an overview of all the analysis it has to do, which as I understand is basically “automated Mike Pall”
FWIW I think this is the hand-written equivalent with LuaJIT’s dynasm tool: https://github.com/LuaJIT/LuaJIT/blob/v2.1/src/vm_x64.dasc (just under 5000 lines)
Also there are several of these files with no apparent sharing, as you would get with deegen:
https://github.com/LuaJIT/LuaJIT/blob/v2.1/src/vm_x86.dasc
https://github.com/LuaJIT/LuaJIT/blob/v2.1/src/vm_ppc.dasc
llvm-project
-
Building the fastest Lua interpreter.. automatically
Yes, I've already experimented with doing this, see: https://github.com/haberman/llvm-project/commit/e8d9c75bb35c...
But when I tried it on my actual code, the results weren't quite as good as I hoped, due to sub-optimal register allocation.
What are some alternatives?
LuaJIT - Mirror of the LuaJIT git repository
idel - A low-level virtual machine for mobile code
qbe-rs - QBE IR in natural Rust data structures
ish - Linux shell for iOS
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
hn-search - Hacker News Search
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
plb2 - A programming language benchmark