Lua 5.5 lansat cu colectare incrementală a gunoiului și matrici compacte
Limbajul de programare Lua 5.5 introduce declarații explicite pentru variabilele globale, împreună cu îmbunătățiri majore ale memoriei și colectării gunoiului.
Lua, un limbaj de scripting ușor și de nivel înalt, proiectat pentru a fi integrat în alte aplicații, tocmai a lansat versiunea 5.5.
Una dintre principalele îmbunătățiri este declarația explicită a variabilelor globale, permițând dezvoltatorilor să definească mai clar variabilele globale și să evite erorile comune asociate cu globalele implicite. În plus, variabilele din buclele for sunt acum doar citibile, reducând efectele secundare nedorite în construcțiile de buclă.
Utilizarea memoriei pentru tablouri a fost semnificativ optimizată în Lua 5.5. Conform dezvoltatorilor, implementarea tablourilor mai compacte reduce amprenta de memorie a tabelelor mari cu aproximativ 60%, îmbunătățind performanța aplicațiilor care lucrează intensiv cu date.
Colectarea de gunoi a fost de asemenea îmbunătățită. Introducerea unui nou mod de colector de gunoi generațional îmbunătățește performanța prin separarea obiectelor cu durată scurtă de viață de cele cu durată lungă de viață. În plus, ciclurile majore de colectare a gunoiului sunt acum efectuate incremental, reducând timpii de pauză și îmbunătățind receptivitatea aplicațiilor care rulează pe perioade lungi.
În plus, valorile în virgulă mobilă sunt acum afișate cu suficiente zecimale pentru a se asigura că pot fi citite corect ulterior. Versiunea include, de asemenea, actualizări pentru manipularea șirurilor de caractere și UTF-8, cum ar fi o funcție utf8.offset extinsă, care returnează poziția finală a caracterelor, și suport pentru șiruri externe care utilizează memorie neadministrată de alocatorul propriu al Lua.
Au fost adăugate mai multe funcții noi de utilitate, inclusiv luaL_openselectedlibs și luaL_makeseed, care îmbunătățesc interfețele de încărcare a bibliotecilor și de generare a numerelor aleatoare. În plus, interpretul Lua (lua.c) încarcă acum dinamic suportul pentru readline atunci când este disponibil, extinzând utilizarea interactivă.
Binariele statice văd, de asemenea, îmbunătățiri; atunci când se încarcă segmente binare în memorie, Lua poate reutiliza memoria originală în anumite structuri interne. Operațiunile de dump și undump reutilizează acum toate șirurile, iar bufferul auxiliar își reutilizează memoria atunci când construiește șirurile finale, reducând alocările.
Pentru mai multe informații despre toate modificările din Lua 5.5, urmați acest link.
