Ana içeriğe geç
Programlama

Go 1.27 küçük bellek ayırma işlemlerini hızlandırdı

Öne çıkanlar

  • Go 1.27, 80 bayt ve altındaki bellek ayırma işlemlerini yüzde 20 ila 30 oranında hızlandırdı.
  • Komut önbelleğindeki şişkinliği ve gecikmeleri önlemek için sınır 80 bayt olarak belirlendi.
  • Arayüz, metin ve dilim gibi sık kullanılan 16 ile 24 baytlık veri yapıları bu iyileştirmeden en çok faydayı gördü.

Go geliştirme ekibi, Go 1.27 sürümünde 80 bayt ve altındaki bellek ayırma işlemlerini hızlandıran boyuta özel bellek ayırma mekanizmasını duyurdu. Yeni yöntemle birlikte küçük boyutlu tahsis süreçlerinde yüzde 20 ila 30 arasında performans artışı elde edildi. Bu gelişme, yoğun bellek ayırma işlemi gerçekleştiren Go programlarının genel çalışma hızını yüzde 1 seviyesine kadar artırıyor.

Go çalışma zamanı, nesnelerin boyutuna ve işaretçi içerip içermediğine göre ayrılan her aralık için özelleştirilmiş tahsis fonksiyonları üretti. Derleyici, boyutu önceden bilinen nesneler için doğrudan ilgili özel fonksiyonu çağırarak genel işlevlerin getirdiği ek yükleri ve dallanmaları ortadan kaldırdı. Bellek sıfırlama işlemlerinin doğrudan makine koduna dönüştürülmesi ve yardımcı fonksiyonların kod içine gömülmesi de süreci hızlandıran etkenler arasında yer aldı.

Geliştiriciler, çok sayıda özel fonksiyon oluşturmanın komut önbelleğini olumsuz etkilemesini önlemek amacıyla üst sınırı 80 bayt olarak belirledi. Böylece arayüz, metin ve dilim gibi yaygın kullanılan 16 ve 24 baytlık verilerde en yüksek verim sağlandı. Performans kazanımları için kod değişikliği gerekmezken, Go 1.27 ile derleme yapmak hız artışını etkinleştirmek için yeterli oluyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.