Terry Ellison
Terry Ellison
The default Lua 5.1 strategy -- which is to do a full GC every allocation and free is particularly pathological. Pretty much any move to using the incremental GC as...
The above patch is a good starting point. The CCOUNT deltas are very informative. I'll push through a review copy of the PR tomorrow with Alpha changes to GC tomorrow.
BTW, there is something definitely a bit hickey about how `MAX_LMEM` is defined and used. `grep` this across `app/lua53/*.*` to see what I mean. This is defined in `llimits.h` as...
> Speaking of `E:M`, where _is_ that message generated? I couldn't easily find it in the source Sorry. Didn't answer this one. It's in `pvPortMalloc`, specifically at offset +196. This...
In doing an Internet trawl on Lua GC internals, I came across Roberto [Ierusalimschy's presentation](https://www.lua.org/wshop18/Ierusalimschy.pdf) at the 2018 Lua Workshop.
@jmattsson Johny, this was the issue that I was talking about
@jmattsson I've just dumped a work in progress to [Notes on the Lua Garbage Collector in the NodeMCU implemention](https://gist.github.com/TerryE/eb630669a088e860193d1a10ab3686f5) explaining how the Lua GC actually works. I've still got to...
Enabling this as a (maybe default) option might be a good idea. As I said I've been playing with `luac` in my Chrome OS Linux sandbox, and doing some instrumentation....
> I would hope that: > > ``` > function task() > node.task.post(node.task.LOW_PRIORITY, task) > end > ``` > > would not take down the system. That's my point. You...
Besides that, this sort of practice will leave the CPU 100% compute bound. Never a good practice. If the app is only occasionally using the stack then it seems far...