Lua

LuaJIT is a Just-In-Time Compiler for the Lua* programming language.

LuaJIT is Copyright © 2005-2008 Mike Pall. LuaJIT is open source software, released under the » MIT/X license.

* Lua is a powerful, dynamic and light-weight programming language designed for extending applications. Lua is also frequently used as a general-purpose, stand-alone language. More information about Lua can be found at: » http://www.lua.org/

Compatibility

LuaJIT implements the full set of language features defined by Lua 5.1. The virtual machine (VM) is API- and ABI-compatible to the standard Lua interpreter and can be deployed as a drop-in replacement.

LuaJIT offers more performance, at the expense of portability. It currently runs on all popular operating systems based on x86 CPUs (Linux, Windows, OSX etc.). It will be ported to x64 CPUs and other platforms in the future, based on user demand and sponsoring.

Overview

LuaJIT has been successfully used as a scripting middleware in games, 3D modellers, numerical simulations, trading platforms and many other specialty applications. It combines high flexibility with high performance and an unmatched low memory footprint: less than 120K for the VM plus less than 80K for the JIT compiler.

LuaJIT has been in continuous development since 2005. It's widely considered to be one of the fastest dynamic language implementations. It has outperfomed other dynamic languages on many cross-language benchmarks since its first release — often by a substantial margin. Only now, in 2009, other dynamic language VMs are starting to catch up with the performance of LuaJIT 1.x …

2009 also marks the first release of the long-awaited 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 a highly tuned code generation backend. This allows a substantial reduction of the overhead associated with dynamic language features. It's destined to break into the performance range traditionally reserved for offline, static language compilers.

More ...

Click on the LuaJIT sub-topics in the navigation bar to learn more about LuaJIT.

Click on the Logo in the upper left corner to visit the LuaJIT project page on the web. All other links to online resources are marked with a '»'.