2009-12-08 18:46:35 +00:00
|
|
|
<!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">
|
2012-01-23 21:42:30 +00:00
|
|
|
<meta name="Copyright" content="Copyright (C) 2005-2012, Mike Pall">
|
2009-12-08 18:46:35 +00:00
|
|
|
<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">
|
2009-12-08 19:35:29 +00:00
|
|
|
<meta name="description" content="LuaJIT is a Just-In-Time (JIT) compiler for the Lua language.">
|
2009-12-08 18:46:35 +00:00
|
|
|
</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>
|
2010-11-09 17:11:35 +00:00
|
|
|
</li></ul>
|
|
|
|
</li><li>
|
|
|
|
<a href="extensions.html">Extensions</a>
|
|
|
|
<ul><li>
|
2011-01-20 21:14:17 +00:00
|
|
|
<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_semantics.html">FFI Semantics</a>
|
|
|
|
</li></ul>
|
|
|
|
</li><li>
|
2010-11-09 17:11:35 +00:00
|
|
|
<a href="ext_jit.html">jit.* Library</a>
|
2009-12-08 18:46:35 +00:00
|
|
|
</li><li>
|
2010-11-09 17:11:35 +00:00
|
|
|
<a href="ext_c_api.html">Lua/C API</a>
|
2009-12-08 18:46:35 +00:00
|
|
|
</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>
|
2010-03-19 20:01:14 +00:00
|
|
|
<a href="http://luajit.org/performance.html">Performance <span class="ext">»</span></a>
|
|
|
|
</li><li>
|
2009-12-08 18:46:35 +00:00
|
|
|
<a href="http://luajit.org/download.html">Download <span class="ext">»</span></a>
|
2012-05-04 19:58:52 +00:00
|
|
|
</li><li>
|
|
|
|
<a href="http://luajit.org/list.html">Mailing List <span class="ext">»</span></a>
|
2009-12-08 18:46:35 +00:00
|
|
|
</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>
|
2012-01-23 21:42:30 +00:00
|
|
|
LuaJIT is Copyright © 2005-2012 Mike Pall.
|
2009-12-08 18:46:35 +00:00
|
|
|
LuaJIT is open source software, released under the
|
2011-08-14 19:11:58 +00:00
|
|
|
<a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> MIT license</a>.
|
2009-12-08 18:46:35 +00:00
|
|
|
</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
|
2010-03-04 18:07:38 +00:00
|
|
|
currently runs on all popular operating systems based on
|
2011-05-04 23:15:22 +00:00
|
|
|
<b>x86</b> or <b>x64</b> CPUs (Linux, Windows, OSX etc.) or embedded
|
2012-04-02 18:31:50 +00:00
|
|
|
systems based on <b>ARM</b> (Android, iOS), <b>PPC</b> or <b>MIPS</b> CPUs.
|
2010-01-17 21:02:13 +00:00
|
|
|
Other platforms will be supported in the future, based on user demand
|
|
|
|
and sponsoring.
|
2009-12-08 18:46:35 +00:00
|
|
|
</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
|
2011-06-23 14:17:13 +00:00
|
|
|
<b>125K</b> for the VM plus less than <b>85K</b> for the JIT compiler (on x86).
|
2009-12-08 18:46:35 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
LuaJIT has been in continuous development since 2005. It's widely
|
|
|
|
considered to be <b>one of the fastest dynamic language
|
2011-02-11 12:50:01 +00:00
|
|
|
implementations</b>. It has outperformed other dynamic languages on many
|
2009-12-08 18:46:35 +00:00
|
|
|
cross-language benchmarks since its first release — often by a
|
2010-02-16 23:47:55 +00:00
|
|
|
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. ;-)
|
2009-12-08 18:46:35 +00:00
|
|
|
</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
|
2010-10-04 23:36:54 +00:00
|
|
|
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.
|
2009-12-08 18:46:35 +00:00
|
|
|
</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">
|
2012-01-23 21:42:30 +00:00
|
|
|
Copyright © 2005-2012 Mike Pall
|
2009-12-08 18:46:35 +00:00
|
|
|
<span class="noprint">
|
|
|
|
·
|
|
|
|
<a href="contact.html">Contact</a>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|