Ich habe ein Lua-Programm, das langsamer zu sein scheint, als es sein sollte. Ich vermute, dass das Problem ist, dass ich Werte zu einem assoziativen Array einzeln hinzufüge und die Tabelle jedes Mal neuen Speicher zuweisen muss.Wie skaliert man ein Array in Lua?
Es schien eine table.setn Funktion zu sein, aber es funktioniert nicht unter Lua 5.1.3:
stdin:1: 'setn' is obsolete
stack traceback:
[C]: in function 'setn'
stdin:1: in main chunk
[C]: ?
entnehme ich die Google getan, was ich habe die Suche, dass diese Funktion in Lua 5.1 abgeschrieben wurde, aber ich kann nicht finden, was (wenn überhaupt) die Funktionalität ersetzt hat.
Wissen Sie, wie man einen Tisch in Lua vorfasst?
Gibt es alternativ eine andere Möglichkeit, Speicherzuweisung zu vermeiden, wenn Sie ein Objekt zu einer Tabelle hinzufügen?
Ich lese das aus Spaß vor ein paar Tagen, aber wenn Sie in Lua Leistung interessiert sind, sollten Sie dieses Papier über die Implementierung von Lua, es geht über einige der internen Datenstrukturen. http://www.lua.org/doc/jucs05.pdf – Falaina