Ana içeriğe geç
Programlama

Wild geliştiricisi Mold ile yapılan bağlayıcı test farklarını analiz etti

Öne çıkanlar

  • Mold testleri ext4 dosya sistemini kullanırken Wild geçmişte testlerini tmpfs üzerinde yürüttü.
  • Wild, dosya oluşturmayı hızlandıran fallocate ve büyük sayfa eşleme desteğini bir sonraki sürümüne ekledi.
  • Mold son yayımlanan 2.42.0 ve 2.42.1 sürümlerinde belirgin performans kazanımları elde etti.

Hızlı bağlayıcı projelerinden Mold, yayımladığı son performans testlerine ilk kez Wild bağlayıcısını ekledi. Bu testlerde Wild'ın Mold'a kıyasla belirgin şekilde yavaş çıkması üzerine Wild geliştiricisi, kendi 4 Ağustos sonuçları ile Mold'un 28 Ağustos sonuçları arasındaki uyumsuzluğu inceleyen teknik bir analiz paylaştı. İnceleme, iki test ortamı arasındaki dosya sistemi, süreç yönetimi ve donanım yapılandırması farklılıklarını ortaya koydu.

Yapılan denemeler, test ortamındaki ayarların sonuçları doğrudan etkilediğini gösterdi. Mold testleri ext4 üzerinde her çalıştırmadan önce çıktı dosyasını silip --no-fork parametresini kullanırken, Wild geçmişte SSD aşınmasını önlemek için tmpfs kullanıyor ve mevcut dosyanın üzerine yazıyordu. Wild'ın ext4 üzerinde yeni dosya oluştururken yavaş kalmasının temel sebebinin fallocate ile önceden alan ayırma ve bellek eşlemede büyük sayfaları (hugepages) kullanma eksikliği olduğu belirlendi. Geliştirici bu iki optimizasyonun gelecek sürüme eklendiğini açıkladı.

Farkın diğer önemli nedeninin Mold'un 2.42.0 ve 2.42.1 sürümleriyle kazandığı performans artışı olduğu kaydedildi. Wild'ın önceki testlerinin bu güncellemelerden önce yapıldığı belirtildi. Ayrıca 64 çekirdekli Threadripper gibi yüksek çekirdekli sistemlerde Mold iş parçacığı sayısını 32 ile sınırlandırırken Wild'ın sınır koymamasının da ek bir yavaşlamaya yol açmış olabileceği ifade edildi.

Kaynak

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