Rust Coreutils geliştiricileri 0.7.0 sürümünü yayınladı. Güncellemenin odak noktası, düzinelerce yardımcı programı kapsayan performans optimizasyonlarıdır. İyileştirmeler arasında daha hızlı hash haritaları, yeni hızlı ASCII yolları ve çeşitli komutlarda azaltılmış malloc çağrıları yer alıyor. Ayrıca geliştiriciler NetBSD ve PowerPC için derleme düzeltmelerini entegre etti.
Duyurudan sonra devamını okuyun
Sürümün bir diğer amacı da güvenli olmayan kodu azaltmaktır. Geliştiriciler özellikle güvenli olmayan libc kodunu güvenli Rust soyutlamalarıyla değiştirdi ve bu da uygulamanın güvenliğini daha da artırdı. Bu, Rust'un özel sistemi aracılığıyla arabellek taşmalarını ve serbest kullanım sonrası hataları zaten ortadan kaldıran önceki sürüm 0.6'nın çalışmasının devamı niteliğindedir. Sürüm 0.7 ayrıca echo, date ve sort gibi 20'den fazla yardımcı programda /dev/full dosyasına yazarken ortaya çıkan panik sorunlarını da ortadan kaldırarak üretim kullanılabilirliğini daha da artırır.
GNU uyumluluğu yüzde cinsinden azalır
Sürüm 0.7, GNU Test Suite ile uyumluluk açısından bir adım geri gitmiş gibi görünüyor: yüzde 0.6 sürümünde %96.3'ten %94.6'ya düştü. Ancak bu düşüş, GNU Coreutils 9.10'dan 19 yeni testin entegrasyonuyla açıklanıyor. Yüzde oranındaki düşüşe rağmen geçilen testlerin mutlak sayısı arttı. Ek olarak, altı ek test kaçırıldı ve yedi ek test başarısız oldu.
Referans test paketinin gelişimi göz önüne alındığında yüzdesel düşüş normaldir. GNU Coreutils 9.10'daki yeni testlerin geçilmesi öncekilere göre daha zordur, dolayısıyla hız düşer, aynı zamanda uygulama mutlak anlamda daha fazla testten geçer. Ancak Rust Coreutils projesi tam %100 GNU uyumluluğuna ulaşmak için çabalamaya devam ediyor. Geliştiriciler GNU projesiyle yakın işbirliği içinde çalışıyorlar ve GNU Coreutils'e her iki projeyi de güçlendiren çok sayıda yamayla katkıda bulundular.
Ayrıntılı performans iyileştirmeleri
Sürüm 0.7'deki performans optimizasyonları, özellikle çok sayıda dosya içeren toplu işlemler, büyük miktarlarda veri işleme ve komut dosyalarındaki yardımcı programlara tekrarlanan çağrılar için sistem yöneticileri ve son kullanıcılar tarafından ölçülebilir olmalıdır. Özellikle, örneğin unexpand %14'lük bir hız artışı sağlar, du %3 ile %6 arasında ve shuf %4 civarındadır. Daha hızlı karma haritalar, anahtar/değer eşlemelerine dayanan işlemleri hızlandırır. Yeni ASCII hızlı yolları, birçok kullanım durumunda işlenen verilerin çoğunluğunu oluşturan ASCII karakterlerinin işlenmesini optimize eder.
Duyurudan sonra devamını okuyun
Malloc çağrılarının azaltılması, daha az bellek parçalanmasına ve potansiyel olarak daha kısa CPU etkinlik sürelerine neden olur ve bu da genel performansı olumlu yönde etkiler. Bu optimizasyonlar devam eden gelişimin bir parçasıdır: base32 ve base64 gibi temel kodlama yardımcı programları sürüm 0.6'da zaten hızlandırılmıştı ve sürüm 0.4, faktör, cksum, tsort ve mkdir için özel optimizasyonlar getirdi.
Sürüm 0.7'nin sürüm notlarına GitHub'da ulaşılabilir.
(fo)

Bir yanıt yazın