beta-0.89.2
[luatex.git] / source / libs / luajit / LuaJIT-src / doc / luajit.html
blobbee0f62a1d00a443aac8b9567dda66f30f9dd729
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-2015, 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><li>
130 <a href="ext_profiler.html">Profiler</a>
131 </li></ul>
132 </li><li>
133 <a href="status.html">Status</a>
134 <ul><li>
135 <a href="changes.html">Changes</a>
136 </li></ul>
137 </li><li>
138 <a href="faq.html">FAQ</a>
139 </li><li>
140 <a href="http://luajit.org/performance.html">Performance <span class="ext">&raquo;</span></a>
141 </li><li>
142 <a href="http://wiki.luajit.org/">Wiki <span class="ext">&raquo;</span></a>
143 </li><li>
144 <a href="http://luajit.org/list.html">Mailing List <span class="ext">&raquo;</span></a>
145 </li></ul>
146 </div>
147 <div id="main">
149 LuaJIT is a <b>Just-In-Time Compiler</b> (JIT) for the
150 <a href="http://www.lua.org/"><span class="ext">&raquo;</span>&nbsp;Lua</a> programming language.
151 Lua is a powerful, dynamic and light-weight programming language.
152 It may be embedded or used as a general-purpose, stand-alone language.
153 </p>
155 LuaJIT is Copyright &copy; 2005-2015 Mike Pall, released under the
156 <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT open source license</a>.
157 </p>
159 </p>
161 <h2>Compatibility</h2>
162 <table class="feature os os1">
163 <tr><td>Windows</td><td>Linux</td><td>BSD</td><td>OSX</td><td>POSIX</td></tr>
164 </table>
165 <table class="feature os os2">
166 <tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td></tr>
167 </table>
168 <table class="feature os os3">
169 <tr><td>PS3</td><td>PS4</td><td>PS Vita</td><td>Xbox 360</td><td>Xbox One</td></tr>
170 </table>
171 <table class="feature compiler">
172 <tr><td>GCC</td><td>CLANG<br>LLVM</td><td>MSVC</td></tr>
173 </table>
174 <table class="feature cpu">
175 <tr><td>x86</td><td>x64</td><td>ARM</td><td>ARM64</td><td>PPC</td><td>MIPS</td></tr>
176 </table>
177 <table class="feature fcompat">
178 <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>
179 </table>
181 <h2>Overview</h2>
182 <table class="feature stats">
183 <tr>
184 <td class="speed">3x<br>-&nbsp;&nbsp;100x</td>
185 <td class="kb">115&nbsp;<small>KB</small><br>VM</td>
186 <td class="kb">90&nbsp;<small>KB</small><br>JIT</td>
187 <td class="kloc">63&nbsp;<small>KLOC</small><br>C</td>
188 <td class="kloc">24&nbsp;<small>KLOC</small><br>ASM</td>
189 <td class="kloc">11&nbsp;<small>KLOC</small><br>Lua</td>
190 </tr>
191 </table>
192 <p style="margin-top: 1em;">
193 LuaJIT has been successfully used as a <b>scripting middleware</b> in
194 games, appliances, network and graphics apps, numerical simulations,
195 trading platforms and many other specialty applications. It scales from
196 embedded devices, smartphones, desktops up to server farms. It combines
197 high flexibility with <a href="http://luajit.org/performance.html"><span class="ext">&raquo;</span>&nbsp;high performance</a>
198 and an unmatched <b>low memory footprint</b>.
199 </p>
201 LuaJIT has been in continuous development since 2005. It's widely
202 considered to be <b>one of the fastest dynamic language
203 implementations</b>. It has outperformed other dynamic languages on many
204 cross-language benchmarks since its first release &mdash; often by a
205 substantial margin.
206 </p>
208 For <b>LuaJIT 2.0</b>, the whole VM has been rewritten from the ground up
209 and relentlessly optimized for performance. It combines a <b>high-speed
210 interpreter</b>, written in assembler, with a <b>state-of-the-art JIT
211 compiler</b>.
212 </p>
214 An innovative <b>trace compiler</b> is integrated with advanced,
215 SSA-based optimizations and highly tuned code generation backends.
216 A substantial reduction of the overhead associated with dynamic languages
217 allows it to break into the performance range traditionally reserved for
218 offline, static language compilers.
219 </p>
221 <h2>More ...</h2>
223 Please select a sub-topic in the navigation bar to learn more about LuaJIT.
224 </p>
225 <br class="flush">
226 </div>
227 <div id="foot">
228 <hr class="hide">
229 Copyright &copy; 2005-2015 Mike Pall
230 <span class="noprint">
231 &middot;
232 <a href="contact.html">Contact</a>
233 </span>
234 </div>
235 </body>
236 </html>