Выполнение последовательности вызовов collectgarbage()
включает поиск этой функции в таблице глобальной среды и размещение ее в стеке вместе со строковым аргументом. Lua помещает collectgarbage
отчеты в стек состояния виртуальной машины.
Стек должен расти, чтобы вместить в него новые значения, и, в зависимости от текущей емкости стека, может быть достаточно места для всех этих действий. сделано без перераспределения стека, иначе потребуется расширить стек, предоставляя вам отчеты о разном объеме памяти.
Попробуйте вставить print "grab stats"
в строку перед первым вызовом collectgarbage("count")
, после создания таблиц. Вероятно, вы вообще не увидите изменений размера памяти.