Rust'ta yeniden yazılan GNU Coreutils güncellemesi

Uutils coreutils 0.0.12 araç setinin sürümü sunuldu; burada GNU Coreutils paketinin Rust dilinde yeniden yazılan bir analogu geliştiriliyor. Coreutils, sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ve ls dahil yüzün üzerinde yardımcı programla birlikte gelir. Aynı zamanda, uutils findutils 0.3.0 paketi, GNU Findutils setindeki yardımcı programların (find, bulun, güncellendib ve xargs) Rust'taki bir uygulamasıyla birlikte yayınlandı.

Projeyi oluşturmanın ve Rust dilini kullanmanın nedeni, Coreutils ve Findutils'in Windows, Redox ve Fuchsia platformlarında çalışabilen, platformlar arası alternatif bir uygulamasını oluşturma arzusudur. Uutils arasındaki bir diğer önemli fark, GPL copyleft lisansı yerine MIT Permissive License altında dağıtılmasıdır.

Şu anda 88 yardımcı programın uygulanması GNU Coreutils ile tamamen eşit hale getirildi. Cp, dd, date, df, install, ls, more, sort, split, tail ve test dahil olmak üzere 18 yardımcı programda bireysel kusurlar belirtilmiştir. Yalnızca stty yardımcı programı uygulanmadan kalır. GNU Coreutils projesinden test paketini geçerken 214 test başarıyla gerçekleştirilir, ancak Rust analogu henüz 313 testi geçemez. Aynı zamanda, proje geliştirmenin yoğunluğu gözle görülür şekilde arttı - bir yıl önce 400-470 geliştiriciden 20-50 yerine 30-60 geliştiriciden ayda 3-8 yama ekleniyor.

Rust'ta yeniden yazılan GNU Coreutils güncellemesi

En son başarılar arasında performans optimizasyonu dikkat çekiyor - mevcut durumda, kafa ve kesme gibi birçok yardımcı program performans açısından GNU Coreutils'in seçeneklerine göre önemli ölçüde üstün. Test paketinin kapsamı tüm kodların %55'inden %75'ine çıkarıldı (%80 yeterli bir hedeftir). Bakımı basitleştirmek için kod yeniden düzenlendi; örneğin, farklı programlarda hata işleme birleştirildi ve erişim haklarıyla çalışma kodu chgrp ve chown olarak birleştirildi. GNU Coreutils ile uyumluluğu geliştirmek için çok sayıda değişiklik eklendi.

Geleceğe yönelik planlar arasında stty yardımcı programının uygulanması, GNU Coreutils ile uyumluluğu geliştirmek için devam eden çalışmalar, yürütülebilir dosyaların boyutunu azaltmak için optimizasyonların eklenmesi ve ayrıca GNU Coreutils ve GNU yerine Debian ve Ubuntu'da uutils yardımcı programlarının kullanımına ilişkin devam eden deneyler yer alıyor. Findutils (uutils'in ana geliştiricilerinden biri daha önce Clang derleyicisini kullanarak Debian GNU/Linux oluşturmak için bir proje üzerinde çalışmıştı). Ek olarak, macOS için uutils-coreutils paketinin hazırlanması, NixOS'ta GNU Coreutils'in uutils coreutils ile değiştirilmesine yönelik deneyler, Apertis dağıtımında uutils coreutils'in varsayılan olarak kullanılması niyeti ve uutils setinin Redox OS için uyarlanması belirtiliyor.

Kaynak: opennet.ru

Yorum ekle