Ana içeriğe geç
Programlama

Go ikili dosya boyutları bağlayıcı bayrakları ve UPX ile altı kat küçültülebiliyor

Öne çıkanlar

  • Bağlayıcıya verilen -s ve -w bayrakları DWARF hata ayıklama verilerini silerek dosya boyutunu yüzde 28 düşürdü.
  • DWARF verilerinin kaldırılması çalışma zamanındaki yığın izi ve panik mesajlarının okunurluğunu bozmadı.
  • UPX aracı ve bayrakların birlikte kullanımı dosya boyutunu varsayılan halinin yaklaşık yüzde 15'ine indirdi.

Go ile derlenen statik ikili dosyaların boyutları, bağlayıcı bayrakları ve sıkıştırma araçları kullanılarak önemli ölçüde düşürülebiliyor. Yapılan teknik analizde, Go ikili dosyalarının xz gibi algoritmalarla orijinal boyutunun yaklaşık beşte birine kadar sıkışabildiği ve düşük entropili bölümler içerdiği ortaya kondu.

İlk aşamada bağlayıcıya aktarılan -s ve -w parametreleri DWARF hata ayıklama tablolarını dosyadan temizleyerek boyutu yüzde 28 oranında küçülttü. Bu işlem hata ayıklayıcı bilgilerini kaldırırken çalışma zamanında oluşan panik çıktılarının ve yığın izlerinin okunabilirliğini korudu.

İkinci adımda UPX aracı kullanılarak yürütülebilir dosyanın kendi kendini açması sağlandı ve bağlayıcı bayraklarıyla birlikte dosya boyutu varsayılan değerin yüzde 15'ine kadar indirildi. Bu sıkıştırma işlemi 12 MB büyüklüğündeki derleyici ikilisini 2,5 MB seviyesine çekerken açılış süresine süreç başlangıcında 160 milisaniyelik bir gecikme ekledi.

Kaynak

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