luajit-remake
LuaJIT
luajit-remake | LuaJIT | |
---|---|---|
7 | 39 | |
1,100 | 4,414 | |
0.8% | 1.0% | |
7.1 | 8.9 | |
3 months ago | 9 days ago | |
C++ | C | |
- | GNU General Public License v3.0 or later |
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
LuaJIT
-
On the impossibility of composing finalizers and FFI
Unfortunately things aren't so simple, as when doing JIT compilation, LuaJIT _will_ try to shorten the lifetimes of local variables. Using the latest available version of LuaJIT (https://github.com/LuaJIT/LuaJIT/commit/0d313b243194a0b8d239...), the following reliably fails for me:
local ffi = require"ffi"
-
Building a baseline JIT for Lua automatically
I am using https://luajit.org/ in my GCC C++ project.
Can I use this faster Lua JIT in my project as a replacement? And if so, how so?
The existing luajit doesn't do v5.1, so it would be nice to use this newer engine at the newer baseline lua version level.
-
Python 3.13 Gets a JIT
The commit history looks pretty active...
https://github.com/LuaJIT/LuaJIT/commits/v2.1/
- LuaJIT 3.0 Issue Tracker
-
LuaJIT Uses Rolling Releases
I think https://github.com/LuaJIT/LuaJIT/commit/6a2163a6b45d6d251599... improved things a bit, notably making automatic tarballs work again.
-
How to clear a table without wasting memory?
There is nothing on luajit.org, so I assume that 2.0 doesn't have the extensions added (think the site is still on 2.0). However I found some proof in the mirrored git repo, that they do exist and also my luajit interpreter (2.1.0-beta3) shows them as builtins.
- Clone Mike Pall
- Which for loop method is faster
-
Recommendations for JS Engines that could be embedded in my Game Engine
If you absolutely want a performant scripting runtime, I'd recommend taking a look at LuaJit, DaScript or AngelScript.
-
Any embeddable language compatible with C (like Lua) but compiled?
If you don't like that - look towards JIT-compilers. Lua has one
What are some alternatives?
qbe-rs - QBE IR in natural Rust data structures
lua-languages - Languages that compile to Lua
idel - A low-level virtual machine for mobile code
Wren - The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.
ish - Linux shell for iOS
moonjit - Just-In-Time Compiler for the Lua Programming language. Fork of LuaJIT to continue development. This project does not have an active maintainer, see https://twitter.com/siddhesh_p/status/1308594269502885889?s=20 for more detail.
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.
luajit2 - OpenResty's Branch of LuaJIT 2
hn-search - Hacker News Search
nelua-lang - Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
ravi - Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers