Use https for freelists.org links.
[luajit-2.0.git] / doc / luajit.html
blob000300814911c406b69d05f30292a90a46910824
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <title>LuaJIT</title>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <meta name="Author" content="Mike Pall">
7 <meta name="Copyright" content="Copyright (C) 2005-2017, Mike Pall">
8 <meta name="Language" content="en">
9 <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
10 <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
11 <meta name="description" content="LuaJIT is a Just-In-Time (JIT) compiler for the Lua language.">
12 <style type="text/css">
13 table.feature {
14 width: inherit;
15 line-height: 1.2;
16 margin: 0;
18 table.feature td {
19 width: 80px;
20 height: 40px;
21 vertical-align: middle;
22 text-align: center;
23 font-weight: bold;
24 border: 4px solid #e6ecff;
25 border-radius: 12px;
27 table.os td {
28 background: #7080d0;
29 background-image: linear-gradient(#4060c0 10%, #b0b0ff 95%);
30 background-image: -moz-linear-gradient(#4060c0 10%, #b0b0ff 95%);
31 background-image: -webkit-linear-gradient(#4060c0 10%, #b0b0ff 95%);
32 background-image: -o-linear-gradient(#4060c0 10%, #b0b0ff 95%);
33 background-image: -ms-linear-gradient(#4060c0 10%, #b0b0ff 95%);
35 table.os1 td {
36 color: #ffff80;
38 table.os2 td {
39 color: #ffa040;
41 table.os3 td {
42 color: #40ffff;
44 table.compiler td {
45 color: #2080ff;
46 background: #62bf41;
47 background-image: linear-gradient(#62bf41 10%, #b0ffb0 95%);
48 background-image: -moz-linear-gradient(#62bf41 10%, #b0ffb0 95%);
49 background-image: -webkit-linear-gradient(#62bf41 10%, #b0ffb0 95%);
50 background-image: -o-linear-gradient(#62bf41 10%, #b0ffb0 95%);
51 background-image: -ms-linear-gradient(#62bf41 10%, #b0ffb0 95%);
53 table.cpu td {
54 color: #ffff00;
55 background: #cf7251;
56 background-image: linear-gradient(#bf6241 10%, #ffb0b0 95%);
57 background-image: -moz-linear-gradient(#bf6241 10%, #ffb0b0 95%);
58 background-image: -webkit-linear-gradient(#bf6241 10%, #ffb0b0 95%);
59 background-image: -o-linear-gradient(#bf6241 10%, #ffb0b0 95%);
60 background-image: -ms-linear-gradient(#bf6241 10%, #ffb0b0 95%);
62 table.fcompat td {
63 color: #2060e0;
64 background: #61cfcf;
65 background-image: linear-gradient(#41bfbf 10%, #b0ffff 95%);
66 background-image: -moz-linear-gradient(#41bfbf 10%, #b0ffff 95%);
67 background-image: -webkit-linear-gradient(#41bfbf 10%, #b0ffff 95%);
68 background-image: -o-linear-gradient(#41bfbf 10%, #b0ffff 95%);
69 background-image: -ms-linear-gradient(#41bfbf 10%, #b0ffff 95%);
71 table.stats td {
72 color: #ffffff;
73 background: #a0a0a0;
74 background-image: linear-gradient(#808080 10%, #d0d0d0 95%);
75 background-image: -moz-linear-gradient(#808080 10%, #d0d0d0 95%);
76 background-image: -webkit-linear-gradient(#808080 10%, #d0d0d0 95%);
77 background-image: -o-linear-gradient(#808080 10%, #d0d0d0 95%);
78 background-image: -ms-linear-gradient(#808080 10%, #d0d0d0 95%);
80 table.stats td.speed {
81 color: #ff4020;
83 table.stats td.kb {
84 color: #ffff80;
85 background: #808080;
86 background-image: linear-gradient(#606060 10%, #c0c0c0 95%);
87 background-image: -moz-linear-gradient(#606060 10%, #c0c0c0 95%);
88 background-image: -webkit-linear-gradient(#606060 10%, #c0c0c0 95%);
89 background-image: -o-linear-gradient(#606060 10%, #c0c0c0 95%);
90 background-image: -ms-linear-gradient(#606060 10%, #c0c0c0 95%);
92 table.feature small {
93 font-size: 50%;
95 </style>
96 </head>
97 <body>
98 <div id="site">
99 <a href="http://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
100 </div>
101 <div id="head">
102 <h1>LuaJIT</h1>
103 </div>
104 <div id="nav">
105 <ul><li>
106 <a class="current" href="luajit.html">LuaJIT</a>
107 <ul><li>
108 <a href="http://luajit.org/download.html">Download <span class="ext">&raquo;</span></a>
109 </li><li>
110 <a href="install.html">Installation</a>
111 </li><li>
112 <a href="running.html">Running</a>
113 </li></ul>
114 </li><li>
115 <a href="extensions.html">Extensions</a>
116 <ul><li>
117 <a href="ext_ffi.html">FFI Library</a>
118 <ul><li>
119 <a href="ext_ffi_tutorial.html">FFI Tutorial</a>
120 </li><li>
121 <a href="ext_ffi_api.html">ffi.* API</a>
122 </li><li>
123 <a href="ext_ffi_semantics.html">FFI Semantics</a>
124 </li></ul>
125 </li><li>
126 <a href="ext_jit.html">jit.* Library</a>
127 </li><li>
128 <a href="ext_c_api.html">Lua/C API</a>
129 </li></ul>
130 </li><li>
131 <a href="status.html">Status</a>
132 <ul><li>
133 <a href="changes.html">Changes</a>
134 </li></ul>
135 </li><li>
136 <a href="faq.html">FAQ</a>
137 </li><li>
138 <a href="http://luajit.org/performance.html">Performance <span class="ext">&raquo;</span></a>
139 </li><li>
140 <a href="http://wiki.luajit.org/">Wiki <span class="ext">&raquo;</span></a>
141 </li><li>
142 <a href="http://luajit.org/list.html">Mailing List <span class="ext">&raquo;</span></a>
143 </li></ul>
144 </div>
145 <div id="main">
147 LuaJIT is a <b>Just-In-Time Compiler</b> (JIT) for the
148 <a href="http://www.lua.org/"><span class="ext">&raquo;</span>&nbsp;Lua</a> programming language.
149 Lua is a powerful, dynamic and light-weight programming language.
150 It may be embedded or used as a general-purpose, stand-alone language.
151 </p>
153 LuaJIT is Copyright &copy; 2005-2017 Mike Pall, released under the
154 <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT open source license</a>.
155 </p>
157 </p>
159 <h2>Compatibility</h2>
160 <table class="feature os os1">
161 <tr><td>Windows</td><td>Linux</td><td>BSD</td><td>OSX</td><td>POSIX</td></tr>
162 </table>
163 <table class="feature os os2">
164 <tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td></tr>
165 </table>
166 <table class="feature os os3">
167 <tr><td>PS3</td><td>PS4</td><td>PS Vita</td><td>Xbox 360</td></tr>
168 </table>
169 <table class="feature compiler">
170 <tr><td>GCC</td><td>CLANG<br>LLVM</td><td>MSVC</td></tr>
171 </table>
172 <table class="feature cpu">
173 <tr><td>x86</td><td>x64</td><td>ARM</td><td>PPC</td><td>e500</td><td>MIPS</td></tr>
174 </table>
175 <table class="feature fcompat">
176 <tr><td>Lua&nbsp;5.1<br>API+ABI</td><td>+&nbsp;JIT</td><td>+&nbsp;BitOp</td><td>+&nbsp;FFI</td><td>Drop-in<br>DLL/.so</td></tr>
177 </table>
179 <h2>Overview</h2>
180 <table class="feature stats">
181 <tr>
182 <td class="speed">3x<br>-&nbsp;&nbsp;100x</td>
183 <td class="kb">115&nbsp;<small>KB</small><br>VM</td>
184 <td class="kb">90&nbsp;<small>KB</small><br>JIT</td>
185 <td class="kloc">63&nbsp;<small>KLOC</small><br>C</td>
186 <td class="kloc">24&nbsp;<small>KLOC</small><br>ASM</td>
187 <td class="kloc">11&nbsp;<small>KLOC</small><br>Lua</td>
188 </tr>
189 </table>
190 <p style="margin-top: 1em;">
191 LuaJIT has been successfully used as a <b>scripting middleware</b> in
192 games, appliances, network and graphics apps, numerical simulations,
193 trading platforms and many other specialty applications. It scales from
194 embedded devices, smartphones, desktops up to server farms. It combines
195 high flexibility with <a href="http://luajit.org/performance.html"><span class="ext">&raquo;</span>&nbsp;high performance</a>
196 and an unmatched <b>low memory footprint</b>.
197 </p>
199 LuaJIT has been in continuous development since 2005. It's widely
200 considered to be <b>one of the fastest dynamic language
201 implementations</b>. It has outperformed other dynamic languages on many
202 cross-language benchmarks since its first release &mdash; often by a
203 substantial margin.
204 </p>
206 For <b>LuaJIT 2.0</b>, the whole VM has been rewritten from the ground up
207 and relentlessly optimized for performance. It combines a <b>high-speed
208 interpreter</b>, written in assembler, with a <b>state-of-the-art JIT
209 compiler</b>.
210 </p>
212 An innovative <b>trace compiler</b> is integrated with advanced,
213 SSA-based optimizations and highly tuned code generation backends.
214 A substantial reduction of the overhead associated with dynamic languages
215 allows it to break into the performance range traditionally reserved for
216 offline, static language compilers.
217 </p>
219 <h2>More ...</h2>
221 Please select a sub-topic in the navigation bar to learn more about LuaJIT.
222 </p>
223 <br class="flush">
224 </div>
225 <div id="foot">
226 <hr class="hide">
227 Copyright &copy; 2005-2017 Mike Pall
228 <span class="noprint">
229 &middot;
230 <a href="contact.html">Contact</a>
231 </span>
232 </div>
233 </body>
234 </html>