¿Cuándo se lanzará lua?
Lua implementa un recolector de marcas y barridos incremental. Utiliza dos números para controlar el ciclo de recolección de basura: la pausa del recolector de basura y el multiplicador de pasos del recolector de basura.
La pausa del recolector de basura controla cuánto tiempo espera el recolector de basura antes de iniciar un nuevo ciclo de recolección. A medida que aumenta el valor, el coleccionista se vuelve menos agresivo. Un valor menor que 1 significa que el recolector no esperará al comienzo de un nuevo ciclo. Un valor de 2 significa que el recopilador no iniciará un nuevo ciclo hasta que la cantidad total de memoria utilizada se haya duplicado.
El multiplicador paso a paso controla la velocidad del recopilador en relación con la asignación de memoria. Los valores más altos hacen que el recolector trabaje de manera más agresiva y al mismo tiempo aumentan el tamaño de cada paso de recolección. Un valor inferior a 1 hará que el colector funcione muy lentamente y puede provocar que nunca complete el ciclo actual. El valor predeterminado es 2, lo que significa que el recopilador se ejecutará dos veces más rápido que el asignador de memoria.
Puedes cambiar estos números llamando a lua_gc en C o a Collectgarbage en Lua. Ambos aceptan valores porcentuales (por lo que pasar un argumento de 100 significa que el valor real es 1). También puede controlar directamente el recopilador (como detenerlo o reiniciarlo) a través de estas funciones.
Citado de:/2000/download/lua_manual.html