Roc dili C seviyesindeki performansa tek haneli farkla yaklaştı
Öne çıkanlar
- roc-deflate paketi, testlerde C ile yazılan libdeflate kütüphanesinden ortanca değerde yalnızca yüzde 2,6 ila yüzde 8,9 yavaş kaldı.
- Roc dili derleme aşamasında sınır denetimlerini optimize ederek çalışma zamanı maliyetini düşürdü.
- Tam bellek güvenliği ve saf fonksiyon yapısı, performans tavanını sınırlasa da güvenlik açıklarını engelliyor.
Fonksiyonel programlama dili Roc ile geliştirilen roc-deflate sıkıştırma paketi, C dilinde yazılan libdeflate kütüphanesine yakın hızlara ulaştı. Yapılan 144 farklı karşılaştırma testinde roc-deflate, x64 mimarisinde ortanca değer olarak yüzde 8,9, Apple M1 işlemcide ise yüzde 2,6 daha yavaş çalıştı. Bellek güvenliği garantileri sunan saf bir fonksiyonel dilin C gibi düşük seviyeli bir kütüphaneyle başa baş yarışabilmesi önemli bir eşik olarak değerlendirildi.
Silesia test kümesi kullanılarak yürütülen denemelerde roc-deflate, en kötü senaryoda libdeflate kütüphanesinden yüzde 18 daha yavaş kalırken en iyi girdilerde yüzde 18 daha hızlı sonuç verdi. Roc, C veya Rust gibi dillerin aksine güvensiz kod bloklarına izin vermiyor, otomatik referans sayımı yapıyor ve dizi sınır denetimlerini zorunlu tutuyor. Derleyici seviyesindeki optimizasyonlar sayesinde döngü içi gereksiz sınır denetimleri kaldırılarak yerinde mutasyon imkanı sağlandı.
Proje ekibi, küçük bir hız farkı karşılığında tam bellek güvenliği, deterministik saf fonksiyonlar ve yan etkisiz yapı elde edildiğini belirtti. Harici fonksiyon arayüzü kısıtları ve derleme betiklerinin bulunmaması sayesinde tedarik zinciri saldırılarına karşı da koruma sağlanıyor. Ekip, sekiz yıllık çalışmanın ardından Roc 0.1.0 sürümünü yayımlamaya hazırlanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.