LuaJIT

提供: FreeBSD入門
移動: 案内検索
スポンサーリンク

LuaJIT (luajit)とは、 lua 本家の提供するライブラリやインタプリタとは別のプログラムで、プログラム実行時にマシン語にコンパイルすることで、本家よりも非常に高速に動作します

読み方

LuaJIT
るあ じっと

概要

LuaJIT は、Lua の JITコンパイラ(Just-In-Time)です。 LuaJIT 2.0 の VM は、高速化のためにアセンブラで書かれました。

luaコマンドとluajitコマンドの比較

1から1000000000までの総和を求める計算を lua 5.2 と luajit で比較した例です。

薫 $ time lua52 -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
5.0000000006711e+17
lua52 -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
20.99s user 0.01s system 99% cpu 21.041 total
薫 $ time luajit -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
5.0000000006711e+17
luajit -e 'local x=0; for i=1,1e9 do x=x+i end; print(x)'
1.91s user 0.00s system 99% cpu 1.914 total

結果は、21秒と2秒となり、luajit が 10倍速いです。

利用した lua と luajit のバージョンは以下の通りです。

薫 $ lua52 -v
Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
薫 $ luajit -v
LuaJIT 2.0.4 -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/

インストール

pkgコマンドでインストールする場合

sudo pkg install luajit

コマンドラインオプション

Available options are:
  -e chunk  Execute string 'chunk'.
  -l name   Require library 'name'.
  -b ...    Save or list bytecode.
  -j cmd    Perform LuaJIT control command.
  -O[opt]   Control LuaJIT optimizations.
  -i        Enter interactive mode after executing 'script'.
  -v        Show version information.
  -E        Ignore environment variables.
  --        Stop handling options.
  -         Execute stdin and stop handling options.

使い方

luajit -e 'スクリプト'
luajit hello.lua

関連項目




スポンサーリンク