Replace some trivial uses of fprintf() with fputs.
[luajit-2.0/celess22.git] / doc / luajit.html
blobd8f20b359d1c42eae4f01bf969035a5447e09efd
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-2012, 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 </head>
13 <body>
14 <div id="site">
15 <a href="http://luajit.org"><span>Lua<span id="logo">JIT</span></span></a>
16 </div>
17 <div id="head">
18 <h1>LuaJIT</h1>
19 </div>
20 <div id="nav">
21 <ul><li>
22 <a class="current" href="luajit.html">LuaJIT</a>
23 <ul><li>
24 <a href="install.html">Installation</a>
25 </li><li>
26 <a href="running.html">Running</a>
27 </li></ul>
28 </li><li>
29 <a href="extensions.html">Extensions</a>
30 <ul><li>
31 <a href="ext_ffi.html">FFI Library</a>
32 <ul><li>
33 <a href="ext_ffi_tutorial.html">FFI Tutorial</a>
34 </li><li>
35 <a href="ext_ffi_api.html">ffi.* API</a>
36 </li><li>
37 <a href="ext_ffi_semantics.html">FFI Semantics</a>
38 </li></ul>
39 </li><li>
40 <a href="ext_jit.html">jit.* Library</a>
41 </li><li>
42 <a href="ext_c_api.html">Lua/C API</a>
43 </li></ul>
44 </li><li>
45 <a href="status.html">Status</a>
46 <ul><li>
47 <a href="changes.html">Changes</a>
48 </li></ul>
49 </li><li>
50 <a href="faq.html">FAQ</a>
51 </li><li>
52 <a href="http://luajit.org/performance.html">Performance <span class="ext">&raquo;</span></a>
53 </li><li>
54 <a href="http://luajit.org/download.html">Download <span class="ext">&raquo;</span></a>
55 </li><li>
56 <a href="http://wiki.luajit.org/">Wiki <span class="ext">&raquo;</span></a>
57 </li><li>
58 <a href="http://luajit.org/list.html">Mailing List <span class="ext">&raquo;</span></a>
59 </li></ul>
60 </div>
61 <div id="main">
62 <p>
63 LuaJIT is a <b>Just-In-Time Compiler</b> for the Lua<sup>*</sup>
64 programming language.
65 </p>
66 <p>
67 LuaJIT is Copyright &copy; 2005-2012 Mike Pall.
68 LuaJIT is open source software, released under the
69 <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT license</a>.
70 </p>
71 <p class="indent" style="color: #606060;">
72 * Lua is a powerful, dynamic and light-weight programming language
73 designed for extending applications. Lua is also frequently used as a
74 general-purpose, stand-alone language. More information about
75 Lua can be found at: <a href="http://www.lua.org/"><span class="ext">&raquo;</span>&nbsp;http://www.lua.org/</a>
76 </p>
77 <h2>Compatibility</h2>
78 <p>
79 LuaJIT implements the full set of language features defined by Lua 5.1.
80 The virtual machine (VM) is <b>API- and ABI-compatible</b> to the
81 standard Lua interpreter and can be deployed as a drop-in replacement.
82 </p>
83 <p>
84 LuaJIT offers more performance, at the expense of portability. It
85 currently runs on all popular operating systems based on
86 <b>x86</b> or <b>x64</b> CPUs (Linux, Windows, OSX etc.) or embedded
87 systems based on <b>ARM</b> (Android, iOS), <b>PPC</b> or <b>MIPS</b> CPUs.
88 Other platforms will be supported in the future, based on user demand
89 and sponsoring.
90 </p>
92 <h2>Overview</h2>
93 <p>
94 LuaJIT has been successfully used as a <b>scripting middleware</b> in
95 games, 3D modellers, numerical simulations, trading platforms and many
96 other specialty applications. It combines high flexibility with high
97 performance and an unmatched <b>low memory footprint</b>: less than
98 <b>125K</b> for the VM plus less than <b>85K</b> for the JIT compiler (on x86).
99 </p>
101 LuaJIT has been in continuous development since 2005. It's widely
102 considered to be <b>one of the fastest dynamic language
103 implementations</b>. It has outperformed other dynamic languages on many
104 cross-language benchmarks since its first release &mdash; often by a
105 substantial margin. In 2009 other dynamic language VMs started to catch up
106 with the performance of LuaJIT 1.x. Well, I couldn't let that slide. ;-)
107 </p>
109 2009 also marks the first release of the long-awaited <b>LuaJIT 2.0</b>.
110 The whole VM has been rewritten from the ground up and relentlessly
111 optimized for performance. It combines a high-speed interpreter,
112 written in assembler, with a state-of-the-art JIT compiler.
113 </p>
115 An innovative <b>trace compiler</b> is integrated with advanced,
116 SSA-based optimizations and a highly tuned code generation backend. This
117 allows a substantial reduction of the overhead associated with dynamic
118 language features.
119 </p>
121 It's destined to break into the <a href="http://luajit.org/performance.html"><span class="ext">&raquo;</span>&nbsp;performance</a>
122 range traditionally reserved for offline, static language compilers.
123 </p>
125 <h2>More ...</h2>
127 Click on the LuaJIT sub-topics in the navigation bar to learn more
128 about LuaJIT.
129 </p>
130 <p><p>
131 Click on the Logo in the upper left corner to visit
132 the LuaJIT project page on the web. All other links to online
133 resources are marked with a '<span class="ext">&raquo;</span>'.
134 </p>
135 <br class="flush">
136 </div>
137 <div id="foot">
138 <hr class="hide">
139 Copyright &copy; 2005-2012 Mike Pall
140 <span class="noprint">
141 &middot;
142 <a href="contact.html">Contact</a>
143 </span>
144 </div>
145 </body>
146 </html>