Skip to content

lua: stop trying to tweak lua's GC

Vladimír Čunát requested to merge lua_gc into master

TL;DR: I believe all lua_gc() calls stemmed from misunderstanding lua documentation, and the current settings seem potentially dangerous.

First, let me rely on lua 5.1 docs, as luajit 2 is documented to have done only minor changes in the GC. http://www.lua.org/manual/5.1/manual.html#lua_gc http://wiki.luajit.org/New-Garbage-Collector#rationale

Commit 5a709411 claims to have increased the speed of GC to 400 % of speed of allocation, but LUA_GCSETSTEPMUL is the parameter that controls that, and that one was lowered to 99 % and later in 0ee2d1d7 even to 50 %. Documentation explicitly says that setting the value under 100 % may cause problems.

The default values seem perfectly sane to me and currently I can't see any particular reason to change them. It's 200 % relative GC speed, and waiting for allocated size to double before starting another cycle.

I assume the resulting possibility of GC being too slow caused the need to explicitly force a non-incremental GC cycle once in a while, but that seems not useful anymore and not good for latency.

Edited by Petr Špaček

Merge request reports