LuaJIT is a Just-In-Time Compiler (JIT) for the » Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.
LuaJIT is Copyright © 2005-2022 Mike Pall, released under the » MIT open source license.
Compatibility
Windows | Linux | BSD | macOS | POSIX |
Embedded | Android | iOS |
PS3 | PS4 PS5 | PS Vita | Xbox 360 | Xbox One | Nintendo Switch |
GCC | Clang LLVM | MSVC |
x86 x64 | ARM ARM64 | PPC | MIPS32 MIPS64 |
Lua 5.1 API+ABI | + JIT | + BitOp | + FFI | Drop-in DLL/.so |
Overview
3x - 100x |
115 KB VM |
90 KB JIT |
63 KLOC C |
24 KLOC ASM |
11 KLOC Lua |
LuaJIT has been successfully used as a scripting middleware in games, appliances, network and graphics apps, numerical simulations, trading platforms and many other specialty applications. It scales from embedded devices, smartphones, desktops up to server farms. It combines high flexibility with high performance and an unmatched low memory footprint.
LuaJIT has been in continuous development since 2005. It's widely considered to be one of the fastest dynamic language implementations. It has outperformed other dynamic languages on many cross-language benchmarks since its first release — often by a substantial margin.
For LuaJIT 2.0, the whole VM has been rewritten from the ground up and relentlessly optimized for performance. It combines a high-speed interpreter, written in assembler, with a state-of-the-art JIT compiler.
An innovative trace compiler is integrated with advanced, SSA-based optimizations and highly tuned code generation backends. A substantial reduction of the overhead associated with dynamic languages allows it to break into the performance range traditionally reserved for offline, static language compilers.
More ...
Please select a sub-topic in the navigation bar to learn more about LuaJIT.