From 8832db54896dcaf4ff35c3f8c0dd320e4dd6564d Mon Sep 17 00:00:00 2001 From: "ajeffrey@roblox.com" Date: Tue, 2 Mar 2021 13:31:53 -0600 Subject: [PATCH] Added Debugger improvements --- docs/_posts/2021-03-01-luau-recap-february-2021.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/_posts/2021-03-01-luau-recap-february-2021.md b/docs/_posts/2021-03-01-luau-recap-february-2021.md index fcc341dd..c1058390 100644 --- a/docs/_posts/2021-03-01-luau-recap-february-2021.md +++ b/docs/_posts/2021-03-01-luau-recap-february-2021.md @@ -46,6 +46,12 @@ We are continuing to work on optimizing our VM and libraries to make sure idioma !["Benchmark vs Lua 5.3"]({{ site.url }}{{ site.baseurl }}/assets/images/luau-recap-february-2021-benchmark.png) +## Debugger improvements + +Our Luau VM implementation is focused on performance and provides a different API for implementation of debugger tools. But it does have its caveats and one of them was inability to debug coroutines (breakpoints/stepping). + +The good news is that we have lifted that limitation and coroutines can now be debugged just like any regular function. This can especially help people who use Promise libraries that rely on coroutines internally. + ## Library changes `table` library now has a new method, `clear`, that removes all keys from the table but keeps the internal table capacity. When working with large arrays, this can be more efficient than assigning a table to `{}` - the performance gains are similar to that of using `table.create` instead of `{}` *when you expect the number of elements to stay more or less the same*. Note that large empty tables still take memory and are a bit slower for garbage collector to process, so use this with caution.