Anuncios

Bienvenidos sean a este post, hasta ahora que hemos estado trabajando excepto por unos pocos arrays que el analizador recursivo descendiente asigna en la pila de C cuando le toca a Lua este asigna toda la estructura de datos dinamicamente.

Anuncios
Anuncios

Todas estas estructuras crecen cuando es necesario y eventualmente se reducen o desaparecen, Lua mantiene un control estricto sobre su uso de memoria, cuando cerramos un estado de Lua, este explicitamente libera toda su memoria ademas todos los objetos en Lua estan sujetos a la recoleccion de basura, no solamente tablas y cadenas sino tambien funciones, procesos y modulos (las cuales son realmente tablas), si cargas un modulo gigante en Lua y luego borras todas sus referencias, Lua eventualmente recuperara toda la memoria usada por este modulo.

La forma en que Lua maneja la memoria es la mas conveniente para la mayoria de las aplicaciones, sin embargo algunas aplicaciones especiales podrian requerir adaptaciones, por ejemplo para ejecutar en un entorno de memoria limitada o para reducir las pausas de recoleccion de basura a un minimo, Lua permite estas adaptaciones en los dos niveles.

Anuncios

En el nivel bajo podemos configurar la funcion de ubicacion usada por Lua, en el nivel mas alto podemos setear algunos parametros que controlan si recolector de basura o podemos incluso tomar control directo sobre el recolector, en los siguientes posts cubriremos estas aplicaciones.

Anuncios

En resumen, hoy hemos visto una leve introduccion de la administracion de memoria en Lua, como trabaja, como podemos hacerla trabajar para nuestra conveniencia y algunas caracteristicas adicionales, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00