2008年6月17日 星期二

The implementation of LUA 5.0

=== 2008/06/18 ===

The implementation of LUA 5.0 這篇文章提及了 LUA 5.0 內部虛擬引擎的設計。以下記述我的閱讀重點。

為了 portability,LUA 5.0 使用 switch threading,不用 direct threading。

LUA 5.0 使用 hand-written scanner and hand-written recursive decent parser, 好處是 smaller, more efficient, more portable, fully reentrant, better error messages.

LUA 5.0 使用 tagged-union 來表示 values,因此,在 32-bit machine 使用 64-bit double 的情況下,每個 value 都佔 12 bytes。

LUA 5.0 的 table 有一個 array part 及一個 hash part。

因為 LUA 動態管理 table ,而 table 又是 LUA 核心的資料結構。這使得 LUA 不適用於 real time system。

沒有留言:

張貼留言