Author: Mike Pall
Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua language.

LuaJIT

# LuaJIT

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-2014 Mike Pall, released under the » MIT open source license.

## Compatibility

Windows | Linux | BSD | OSX | POSIX

Embedded | Android | iOS | PS3 | PS4 | Xbox 360

GCC | CLANG LLVM | MSVC

x86 | x64 | ARM | PPC | e500 | MIPS

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.

Copyright © 2005-2014 Mike Pall · Contact