<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>LuaJIT</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Author" content="Mike Pall"> <meta name="Copyright" content="Copyright (C) 2005-2011, Mike Pall"> <meta name="Language" content="en"> <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen"> <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print"> <meta name="description" content="LuaJIT is a Just-In-Time (JIT) compiler for the Lua language."> </head> <body> <div id="site"> <a href="http://luajit.org"><span>Lua<span id="logo">JIT</span></span></a> </div> <div id="head"> <h1>LuaJIT</h1> </div> <div id="nav"> <ul><li> <a class="current" href="luajit.html">LuaJIT</a> <ul><li> <a href="install.html">Installation</a> </li><li> <a href="running.html">Running</a> </li></ul> </li><li> <a href="extensions.html">Extensions</a> <ul><li> <a href="ext_ffi.html">FFI Library</a> <ul><li> <a href="ext_ffi_tutorial.html">FFI Tutorial</a> </li><li> <a href="ext_ffi_api.html">ffi.* API</a> </li><li> <a href="ext_ffi_int64.html">64 bit Integers</a> </li><li> <a href="ext_ffi_semantics.html">FFI Semantics</a> </li></ul> </li><li> <a href="ext_jit.html">jit.* Library</a> </li><li> <a href="ext_c_api.html">Lua/C API</a> </li></ul> </li><li> <a href="status.html">Status</a> <ul><li> <a href="changes.html">Changes</a> </li></ul> </li><li> <a href="faq.html">FAQ</a> </li><li> <a href="http://luajit.org/performance.html">Performance <span class="ext">»</span></a> </li><li> <a href="http://luajit.org/download.html">Download <span class="ext">»</span></a> </li></ul> </div> <div id="main"> <p> LuaJIT is a <b>Just-In-Time Compiler</b> for the Lua<sup>*</sup> programming language. </p> <p> LuaJIT is Copyright © 2005-2011 Mike Pall. LuaJIT is open source software, released under the <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> MIT/X license</a>. </p> <p class="indent" style="color: #606060;"> * 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: <a href="http://www.lua.org/"><span class="ext">»</span> http://www.lua.org/</a> </p> <h2>Compatibility</h2> <p> LuaJIT implements the full set of language features defined by Lua 5.1. The virtual machine (VM) is <b>API- and ABI-compatible</b> to the standard Lua interpreter and can be deployed as a drop-in replacement. </p> <p> LuaJIT offers more performance, at the expense of portability. It currently runs on all popular operating systems based on <b>x86</b> or <b>x64 CPUs</b> (Linux, Windows, OSX etc.) or embedded Linux systems based on <b>PPC/e500v2 CPUs</b>. Other platforms will be supported in the future, based on user demand and sponsoring. </p> <h2>Overview</h2> <p> LuaJIT has been successfully used as a <b>scripting middleware</b> in games, 3D modellers, numerical simulations, trading platforms and many other specialty applications. It combines high flexibility with high performance and an unmatched <b>low memory footprint</b>: less than <b>120K</b> for the VM plus less than <b>80K</b> for the JIT compiler (on x86). </p> <p> LuaJIT has been in continuous development since 2005. It's widely considered to be <b>one of the fastest dynamic language implementations</b>. It has outperfomed other dynamic languages on many cross-language benchmarks since its first release — often by a substantial margin. In 2009 other dynamic language VMs started to catch up with the performance of LuaJIT 1.x. Well, I couldn't let that slide. ;-) </p> <p> 2009 also marks the first release of the long-awaited <b>LuaJIT 2.0</b>. 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. </p> <p> An innovative <b>trace compiler</b> 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. </p> <p> It's destined to break into the <a href="http://luajit.org/performance.html"><span class="ext">»</span> performance</a> range traditionally reserved for offline, static language compilers. Have look at these <a href="http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all&d=data&calc=calculate&gpp=on&java=on&luajit=on&v8=on&lua=on&tracemonkey=on&box=1"><span class="ext">»</span> cross-language benchmarks</a> to see how it ranks against the competition. </p> <h2>More ...</h2> <p> Click on the LuaJIT sub-topics in the navigation bar to learn more about LuaJIT. </p> <p><p> 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 '<span class="ext">»</span>'. </p> <br class="flush"> </div> <div id="foot"> <hr class="hide"> Copyright © 2005-2011 Mike Pall <span class="noprint"> · <a href="contact.html">Contact</a> </span> </div> </body> </html>