lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Btw, saw that -DLUA_USE_ASSERT is enabled now by default in the latest version, and according to the comments it might slow down the things. Here is the diff :

# Turn on assertions for the whole LuaJIT VM. This significantly slows down
 # everything. Use only if you suspect a problem with LuaJIT itself.
-#XCFLAGS+= -DLUA_USE_ASSERT
+XCFLAGS+= -DLUA_USE_ASSERT
 #

On 6/23/2011 10:18 AM, Dimiter "malkia" Stanev wrote:
You are unreal, Mike. Thank You! And thank you for sharing your work
with such liberal license.

On 6/23/2011 8:52 AM, Mike Pall wrote:
This is the 8th beta release of LuaJIT 2.0.0.

This release has two major new features: the ARM port is now
complete and support for bytecode loading/saving has been added.

Here is a link to the home page:
http://luajit.org/luajit.html

A direct link to the download page:
http://luajit.org/download.html

And a link to the changelog:
http://luajit.org/changes.html

What is LuaJIT?
---------------

LuaJIT is a Just-In-Time (JIT) Compiler for Lua. It's upwards
compatible with standard Lua 5.1 and can significantly boost the
performance of your Lua programs.

LuaJIT is open source software, released under the MIT/X license.
LuaJIT builds out-of-the-box on most x86 or x64 operating systems
(Linux, Windows, OSX etc.) and can be cross-compiled for embedded
systems based on ARM or PPC/e500 CPUs.

This is a BETA TEST release -- the current status and the list of
known issues are shown here: http://luajit.org/status.html
Please report any problems you may find with this release. Thank you!

ARM port
--------

The ARM port of LuaJIT is now complete: it requires an ARMv5/ARM9E
CPU (or better) with software floating-point (no FPU needed). It runs
on Linux/ARM, Android, iOS 3.0+ (iPhone/iPad), Symbian and others.

Many thanks go to QUALCOMM Inc. for sponsoring the ARM port and to
Marc Nijdam, who arranged the sponsorship!

Performance of LuaJIT on ARM vs. plain Lua:
http://luajit.org/performance_arm.html

Cross-compile instructions for Android and iOS:
http://luajit.org/install.html#cross

Bytecode loading/saving
-----------------------

A corporate sponsor who wishes to remain anonymous has sponsored
the work on bytecode loading/saving.

The LuaJIT bytecode format is portable and ~40% smaller than Lua
bytecode. The LuaJIT bytecode loader is 10x faster than the Lua
bytecode loader. And LuaJIT bytecode loads 30x-40x faster than
source code. Note that this is unrelated to the _execution_ speed
of the code itself -- it doesn't matter how the code was loaded.

The -b command line option saves LuaJIT bytecode (similar to 'luac'):
http://luajit.org/running.html#opt_b

More on bytecode compatibility and the enhanced string.dump():
http://luajit.org/extensions.html#string_dump

The second phase of the work will allow direct generation of
native object files with embedded bytecode. These can be linked
against an application or put into shared libraries. Work for this
feature is scheduled for Q3/2011.

What's next
-----------

A corporate sponsor who wishes to remain anonymous, has sponsored
the port of the LuaJIT interpreter and JIT compiler to (standard)
PowerPC CPUs, tuned for PPC/e300 cores. Work on this port will begin
in July 2011. You can follow the progress in the git repository.

--Mike