OSX/iOS: Always generate 64 bit non-FAT Mach-O object files.
[luajit-2.0.git] / doc / luajit.html
blob030cf705ad79e5528a43309658871e384bedcb53
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>LuaJIT</title>
5 <meta charset="utf-8">
6 <meta name="Copyright" content="Copyright (C) 2005-2023">
7 <meta name="Language" content="en">
8 <link rel="stylesheet" type="text/css" href="bluequad.css" media="screen">
9 <link rel="stylesheet" type="text/css" href="bluequad-print.css" media="print">
10 <meta name="description" content="LuaJIT is a Just-In-Time (JIT) compiler for the Lua language.">
11 <style type="text/css">
12 table.feature {
13 width: inherit;
14 line-height: 1.2;
15 margin: 0;
17 table.feature td {
18 width: 80px;
19 height: 40px;
20 vertical-align: middle;
21 text-align: center;
22 font-weight: bold;
23 border: 4px solid #e6ecff;
24 border-radius: 12px;
26 table.os td {
27 background: #7080d0;
28 background-image: linear-gradient(#4060c0 10%, #b0b0ff 95%);
29 background-image: -moz-linear-gradient(#4060c0 10%, #b0b0ff 95%);
30 background-image: -webkit-linear-gradient(#4060c0 10%, #b0b0ff 95%);
31 background-image: -o-linear-gradient(#4060c0 10%, #b0b0ff 95%);
32 background-image: -ms-linear-gradient(#4060c0 10%, #b0b0ff 95%);
34 table.os1 td {
35 color: #ffff80;
37 table.os2 td {
38 color: #ffa040;
40 table.os3 td {
41 color: #40ffff;
43 table.compiler td {
44 color: #2080ff;
45 background: #62bf41;
46 background-image: linear-gradient(#62bf41 10%, #b0ffb0 95%);
47 background-image: -moz-linear-gradient(#62bf41 10%, #b0ffb0 95%);
48 background-image: -webkit-linear-gradient(#62bf41 10%, #b0ffb0 95%);
49 background-image: -o-linear-gradient(#62bf41 10%, #b0ffb0 95%);
50 background-image: -ms-linear-gradient(#62bf41 10%, #b0ffb0 95%);
52 table.cpu td {
53 color: #ffff00;
54 background: #cf7251;
55 background-image: linear-gradient(#bf6241 10%, #ffb0b0 95%);
56 background-image: -moz-linear-gradient(#bf6241 10%, #ffb0b0 95%);
57 background-image: -webkit-linear-gradient(#bf6241 10%, #ffb0b0 95%);
58 background-image: -o-linear-gradient(#bf6241 10%, #ffb0b0 95%);
59 background-image: -ms-linear-gradient(#bf6241 10%, #ffb0b0 95%);
61 table.fcompat td {
62 color: #2060e0;
63 background: #61cfcf;
64 background-image: linear-gradient(#41bfbf 10%, #b0ffff 95%);
65 background-image: -moz-linear-gradient(#41bfbf 10%, #b0ffff 95%);
66 background-image: -webkit-linear-gradient(#41bfbf 10%, #b0ffff 95%);
67 background-image: -o-linear-gradient(#41bfbf 10%, #b0ffff 95%);
68 background-image: -ms-linear-gradient(#41bfbf 10%, #b0ffff 95%);
70 </style>
71 </head>
72 <body>
73 <div id="site">
74 <a href="https://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
75 </div>
76 <div id="head">
77 <h1>LuaJIT</h1>
78 </div>
79 <div id="nav">
80 <ul><li>
81 <a class="current" href="luajit.html">LuaJIT</a>
82 <ul><li>
83 <a href="https://luajit.org/download.html">Download <span class="ext">&raquo;</span></a>
84 </li><li>
85 <a href="install.html">Installation</a>
86 </li><li>
87 <a href="running.html">Running</a>
88 </li></ul>
89 </li><li>
90 <a href="extensions.html">Extensions</a>
91 <ul><li>
92 <a href="ext_ffi.html">FFI Library</a>
93 <ul><li>
94 <a href="ext_ffi_tutorial.html">FFI Tutorial</a>
95 </li><li>
96 <a href="ext_ffi_api.html">ffi.* API</a>
97 </li><li>
98 <a href="ext_ffi_semantics.html">FFI Semantics</a>
99 </li></ul>
100 </li><li>
101 <a href="ext_buffer.html">String Buffers</a>
102 </li><li>
103 <a href="ext_jit.html">jit.* Library</a>
104 </li><li>
105 <a href="ext_c_api.html">Lua/C API</a>
106 </li><li>
107 <a href="ext_profiler.html">Profiler</a>
108 </li></ul>
109 </li><li>
110 <a href="https://luajit.org/status.html">Status <span class="ext">&raquo;</span></a>
111 </li><li>
112 <a href="https://luajit.org/faq.html">FAQ <span class="ext">&raquo;</span></a>
113 </li><li>
114 <a href="https://luajit.org/list.html">Mailing List <span class="ext">&raquo;</span></a>
115 </li></ul>
116 </div>
117 <div id="main">
119 LuaJIT is a <b>Just-In-Time Compiler</b> (JIT) for the
120 <a href="https://www.lua.org/"><span class="ext">&raquo;</span>&nbsp;Lua</a> programming language.
121 Lua is a powerful, dynamic and light-weight programming language.
122 It may be embedded or used as a general-purpose, stand-alone language.
123 </p>
125 LuaJIT is Copyright &copy; 2005-2023 Mike Pall, released under the
126 <a href="https://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT open source license</a>.
127 </p>
129 </p>
131 <h2>Compatibility</h2>
132 <table class="feature os os1">
133 <tr><td>Windows</td><td>Linux</td><td>BSD</td><td>macOS</td><td>POSIX</td></tr>
134 </table>
135 <table class="feature os os2">
136 <tr><td><span style="font-size:90%;">Embedded</span></td><td>Android</td><td>iOS</td></tr>
137 </table>
138 <table class="feature os os3">
139 <tr><td>PS3</td><td>PS4<br>PS5</td><td>PS Vita</td><td>Xbox 360</td><td>Xbox One</td><td>Nintendo<br>Switch</td></tr>
140 </table>
141 <table class="feature compiler">
142 <tr><td>GCC</td><td>Clang<br>LLVM</td><td>MSVC</td></tr>
143 </table>
144 <table class="feature cpu">
145 <tr><td>x86<br>x64</td><td>ARM<br>ARM64</td><td>PPC</td><td>MIPS32<br>MIPS64</td></tr>
146 </table>
147 <table class="feature fcompat">
148 <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>
149 </table>
151 <h2>Overview</h2>
152 <p style="margin-top: 1em;">
153 LuaJIT has been successfully used as a <b>scripting middleware</b> in
154 games, appliances, network and graphics apps, numerical simulations,
155 trading platforms and many other specialty applications.
156 </p>
158 LuaJIT is part of a hundred million web sites, huge SaaS installations,
159 network switches, set-top boxes and other embedded devices. You've probably
160 already used LuaJIT without knowing about it.
161 </p>
163 LuaJIT scales from embedded devices, smartphones, desktops up to server
164 farms. It combines high flexibility with high performance and an unmatched
165 <b>low memory footprint</b>.
166 </p>
168 LuaJIT has been in continuous development since 2005. It's widely
169 considered to be <b>one of the fastest dynamic language
170 implementations</b>. It has outperformed other dynamic languages on many
171 cross-language benchmarks since its first release &mdash; often by a
172 substantial margin.
173 </p>
175 For <b>LuaJIT 2.0</b>, the whole VM has been rewritten from the ground up
176 and relentlessly optimized for performance. It combines a <b>high-speed
177 interpreter</b>, written in assembler, with a <b>state-of-the-art JIT
178 compiler</b>.
179 </p>
181 An innovative <b>trace compiler</b> is integrated with advanced,
182 SSA-based optimizations and highly tuned code generation backends.
183 A substantial reduction of the overhead associated with dynamic languages
184 allows it to break into the performance range traditionally reserved for
185 offline, static language compilers.
186 </p>
188 <h2>More ...</h2>
190 Please select a sub-topic in the navigation bar to learn more about LuaJIT.
191 </p>
192 <br class="flush">
193 </div>
194 <div id="foot">
195 <hr class="hide">
196 Copyright &copy; 2005-2023
197 <span class="noprint">
198 &middot;
199 <a href="contact.html">Contact</a>
200 </span>
201 </div>
202 </body>
203 </html>