📄️ For Loops
The pairs and ipairs functions are optimized in Pluto. On a consistent basis, pairs & ipairs loops are 3.5x faster than their Lua counterparts.
📄️ Jump Table
Lua implemented a jump table, but it is not portable. Pluto has an additional jump table implementation for other compilers; however, it is not enabled by default as it can add minutes to compile time, depending on the setup. In some instances, it can increase overall virtual machine performance by ~5%.
📄️ Long Jump
Although Lua presents the option to use long jumps even when compiling as C++, it doesn't default to doing so, instead requiring you to define LUAUSELONGJMP.
📄️ Special Arthimetic
Special arithmetic algorithms are optimized by Pluto during compile-time.
📄️ Table Length
Pluto will cache the length of a table when you request it for the first time. This cache is refreshed whenever you make an edit to the table. It's still advisable to localize this value though, since looking through the cache and the virtual machine is expensive compared to looking up a local.