Lua 5.5, Artımlı Çöp Toplama ve Kompakt Diziler ile Yayınlandı


Lua 5.5 programlama dili, bellek ve çöp toplama konusundaki büyük iyileştirmelerin yanı sıra açık global değişken bildirimlerini de tanıtıyor.

Diğer uygulamalara gömülmek için tasarlanmış hafif, yüksek seviyeli bir betik dili olan Lua, 5.5 sürümünü kullanıma sundu.

Ana eklemelerden biri, geliştiricilerin global değişkenleri daha net tanımlamasına ve örtük global değişkenlerle ilişkili yaygın hatalardan kaçınmasına olanak tanıyan açık global değişken bildirimleridir. Ayrıca, for döngülerindeki değişkenler artık yalnızca okunabilir, bu da döngü yapılarında istemsiz yan etkileri azaltır.

Lua 5.5'te diziler için bellek kullanımı önemli ölçüde optimize edilmiştir. Geliştiricilere göre, daha kompakt dizilerin uygulanması büyük tabloların bellek kullanımını yaklaşık %60 oranında azaltmakta ve veri yoğun uygulamalar için performansı artırmaktadır.

Çöp toplama da geliştirilmiştir. Yeni nesil çöp toplayıcı modu, kısa ömürlü ve uzun ömürlü nesneleri ayırarak performansı artırır. Ayrıca, büyük çöp toplama döngüleri artık kademeli olarak gerçekleştirilmekte, bu da duraklama sürelerini azaltmakta ve uzun süre çalışan uygulamalarda yanıt verebilirliği artırmaktadır.

Buna ek olarak, artık ondalık değerler, doğru bir şekilde geri okunabilmelerini sağlamak için yeterli ondalık basamakla yazdırılıyor. Sürüm ayrıca, karakterlerin son konumunu döndüren genişletilmiş bir utf8.offset işlevi gibi dize ve UTF-8 işlemleriyle ilgili güncellemeleri ve Lua'nın kendi ayırıcı tarafından yönetilmeyen belleği kullanan harici dizelere destek içeriyor.

Birçok yeni yardımcı işlev eklendi, bunlar arasında luaL_openselectedlibs ve luaL_makeseed yer alıyor; bunlar kütüphane yükleme ve rastgeleleştirme arabirimlerini geliştiriyor. Ayrıca, Lua yorumlayıcısı (lua.c) artık mevcut olduğunda readline desteğini dinamik olarak yüklüyor ve bu da etkileşimli kullanımı genişletiyor.

Statik ikili dosyalar da gelişmelerden payını alıyor; belleğe ikili parçalar yüklenirken, Lua belirli dahili yapıların içinde orijinal belleği yeniden kullanabiliyor. Dump ve undump işlemleri artık tüm dizeleri yeniden kullanıyor ve yardımcı tampon, son dizeleri oluştururken belleğini yeniden kullanarak tahsisleri azaltıyor.

Lua 5.5'teki tüm değişikliklerle ilgili daha fazla bilgi için bu bağlantıyı takip edin.