LuLu : Lua VM On Lua

>> Project Page, >> English Page


Download

これは何?

LuLu は Lua 自身で実装された Lua 5.1 の VM です。

"LuaVMソースコード勉強会" で学んだ内容の確認のために自分で実装してみました。

いまのところ、LuLu が実装しているのは、VMの命令列の解釈とコルーチンの処理部分です。 データ型(文字列やテーブル)や標準ライブラリ関数の実装は、基本的にホストのLuaに 丸投げしています。

Supported Features

Currently Unsupported Features


Performance Memo

速度面は何も考えていないので、パフォーマンスは期待しないでください。(^^;

"Lua (C 実装)" vs "LuLu (Lua 実装)"

> lua test/fib.lua 24
        n       value   time    evals
plain   24      46368   0.05    150049
cached  24      46368   0       25

> lua lulu.lua test/fib.lua 24
        n       value   time    evals
plain   24      46368   6.088   150049
cached  24      46368   0       25

"LuLu" vs "LuLu上で動くLuLu"

> lua lulu.lua test/fib.lua 18
        n       value   time    evals
plain   18      2584    0.49    8361
cached  18      2584    0.01    19

> lua lulu.lua lulu.lua test/fib.lua 18
        n       value   time    evals
plain   18      2584    30.013  8361
cached  18      2584    0.181   19

hzkr <binhzkr _a_t_ gmail _d_o_t_ com>