Tengo un programa Lua que parece ser más lento de lo que debería ser. Sospecho que el problema es que estoy agregando valores a una matriz asociativa uno a la vez y la tabla tiene que asignar nueva memoria cada vez.¿Cómo se predimensiona una matriz en Lua?
Hay que parecen ser una función table.setn, pero falla en Lua 5.1.3:
stdin:1: 'setn' is obsolete
stack traceback:
[C]: in function 'setn'
stdin:1: in main chunk
[C]: ?
que deduzco de la búsqueda Google que he hecho que esta función se deprecia en Lua 5.1, pero no puedo encontrar qué (si acaso) reemplazó la funcionalidad.
¿Sabes cómo preajustar una mesa en Lua?
Alternativamente, ¿hay alguna otra forma de evitar la asignación de memoria cuando agrega un objeto a una tabla?
Lo leí por diversión el otro día, pero si estás interesado en el rendimiento lua, deberías consultar este documento sobre la implementación de lua, revisa bastantes de las estructuras internas de datos. http://www.lua.org/doc/jucs05.pdf – Falaina