Вы можете использовать collectgarbage
для настройки ГХ. передача "setpause" или "setstepmul" в качестве первого параметра позволяет вам настроить параметры.
«setpause» контролирует, сколько памяти должно быть выделено перед началом нового цикла. значение 100 означает, что он будет выполнять каждое выделение, а значение 200 означает, что он будет ожидать удвоения памяти.
«setstepmul» контролирует, насколько «быстро» он пытается собрать мусор.
Если вы передадите «count» в collectgarbage
, он вернет память, использованную в килобайтах.
На стороне C api вы используете int lua_gc(lua_State *L, int what, int data)
и передаете LUA_GCSETPAUSE
, LUA_GCSETSTEPMUL
, а что для настройки и передачи LUA_GCCOUNT
как what
вернет используемую память.