=== 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。
沒有留言:
張貼留言