📄️ 循环方面
在 Pluto 中,pairs 和 ipairs 函数经过了优化。一般来说,使用 pairs 和 ipairs 进行循环比它们在 Lua 中的对应操作要快 3.5 倍。
📄️ 跳转表
Lua 实现了一个跳转表,但只兼容 clang 和 gcc 编译器。Pluto 为其他编译器提供了额外的跳转表实现,不过默认情况下未启用,因为它可能会增加编译时间,具体取决于编译环境的设置。在某些情况下,它可以提高虚拟机的整体性能约 5%。
📄️ 长跳转
尽管 Lua 提供了在以 C++ 编译时使用长跳转的选项,但默认情况下不使用,而是需要您定义 LUAUSELONGJMP。
📄️ 特殊计算
Pluto 会在编译时对特殊算术算法进行优化。
📄️ 表长度
Pluto 会在您首次请求时缓存表的长度。每次对表进行编辑时,都会刷新缓存。不过还是建议将该值本地化,因为与查找本地值相比,在缓存和虚拟机中查找该值的成本较高。