LuaJIT
提供: FreeBSD入門
2015年12月26日 (土) 15:19時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「LuaJIT (luajit)とは、 lua 本家の提供するライブラリやインタプリタとは別のプログラムで、プログラム実行時にマシン語にコ...」)
スポンサーリンク
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.
使い方
関連項目
{
ツイート
スポンサーリンク