The Consensus Labs Go için sıfır öbek tahsisatı sağlayan noalloc aracını duyurdu
Öne çıkanlar
- noalloc, işaretlenen Go fonksiyonlarının çağrı ağacında öbek tahsisatı yapan satırları derleme aşamasında listeliyor.
- Paket, bellek havuzlarını kullanan sabit boyutlu veri yapıları ile sıfır tahsisatlı bir JSON motoru sağlıyor.
- Go 1.27 ve üzerini hedefleyen araç, arayüz çağrılarını değişken tipi analiziyle takip ederek tahsisat risklerini inceliyor.
The Consensus Labs, Go programlama dilinde öbek bellek tahsisatlarını (heap allocation) sıfıra indirmeyi ve bu durumu sürekli denetlemeyi amaçlayan açık kaynaklı noalloc kütüphanesini ve komut satırı aracını yayımladı. Deneysel nitelikteki araç, kök olarak işaretlenen fonksiyonların çağrı ağacını baştan sona analiz ederek belleğe kaçan veya öbek tahsisatına yol açan tüm satırları tespit ediyor. Go 1.27 veya üzerini gerektiren sistem, geliştiricilerin kod tabanı değiştikçe performans kayıplarının önüne geçmesini sağlıyor.
Araç paketi yalnızca bir statik analiz aracı sunmakla kalmıyor; aynı zamanda öbek tahsisatı yapmayan sabit boyutlu veri yapılarını ve algoritmaları da içeriyor. Paket kapsamında sunulan bounded kütüphanesi; Buf, Vec, Slice ve Map gibi sabit kapasiteli koleksiyonlar barındırıyor. Kapasite aşıldığında sistem hata fırlatmak yerine yapıyı dolu olarak işaretliyor ve bellek havuzları üzerinden parçalı tahsisat modelleri sunuyor. Ayrıca kendi kod üreticisine sahip jsongen bileşeni, JSON serileştirme ve ayrıştırma işlemlerini öbeğe başvurmadan yürütebiliyor.
Derleyici bayrakları ve değişken tipi analizi (VTA) kullanan araç, harici modüllerdeki işlevleri ve arayüz çağrılarını da inceliyor. Geliştiriciler belirli satırları gerekçe göstererek muaf tutabiliyor veya çalışma zamanı önbellekleri için özel izin listeleri tanımlayabiliyor. noalloc'un kendi testlerinde jsongen modülünün, 500 ögeli akış ayrıştırmasında sıfır tahsisatla standart kütüphaneye kıyasla daha yüksek hız sunduğu aktarıldı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.