Hi, everyone. In addition to all of the typechecking work that’s currently in beta, we’ve been hard at work on the other side of Luau, which is the faster runtime. The runtime is already used everywhere except in Studio debugging sessions, and we’ve recently released a beta feature called “Enable faster Lua runtime” which turns it on in Studio as well.
Please try it out and tell us what you think. Ideally, the only thing you might notice is an improvement in runtime performance when debugging. This is because the new debugger uses a much more performant method of tracing and setting breakpoints than the old one.
If you’re interested, we now have an explicit breakpoint instruction that gets inserted at the right place in the bytecode, whereas stock Lua relies on a per-line callback that has a lot of overhead. In general running Lua under the debugger with the new VM should perform very similarly to running without debugging, whereas before there was a large difference.
Roblox has stated that any changes to Lua should have full backwards compatibility, meaning there shouldn’t be any scripts breaking. If there are any issues with it, just be sure to report it!
Really glad this is now in beta. I could notice the difference between studio debug sessions and in game performance when doing crazy scripting experiments.
Studio script performance should be better than before because the new VM instruction dispatch is a lot better. Separately, debugging performance should now be on par with runtime performance, whereas before debugging was a lot slower because it required us to enable the linehook mechanism inside the VM.
Yes, this is a known issue with typechecking which will be fixed in the near future. It’s not related (directly) to the higher-performance Studio virtual machine.