Pembaruan ke GNU Coreutils, ditulis ulang dalam Rust

Rilis toolkit uutils coreutils 0.0.12 disajikan, di mana analog dari paket GNU Coreutils, yang ditulis ulang dalam bahasa Rust, sedang dikembangkan. Coreutils hadir dengan lebih dari seratus utilitas, termasuk sortir, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, dan ls. Pada saat yang sama, paket uutils findutils 0.3.0 dirilis dengan implementasi Rust dari utilitas dari set GNU Findutils (find, find, updateb dan xargs).

Alasan pembuatan proyek ini dan penggunaan bahasa Rust adalah keinginan untuk menciptakan implementasi alternatif lintas platform dari Coreutils dan Findutils, yang mampu bekerja di berbagai platform termasuk Windows, Redox, dan Fuchsia. Perbedaan penting lainnya adalah uutils didistribusikan di bawah lisensi MIT yang permisif, bukan lisensi GPL yang copyleft.

Saat ini, implementasi 88 utilitas telah sepenuhnya setara dengan GNU Coreutils. Kelemahan individu dicatat dalam 18 utilitas, termasuk cp, dd, date, df, install, ls, more, sort, split, tail dan test. Hanya utilitas stty yang masih belum diterapkan. Saat melewati rangkaian pengujian dari proyek GNU Coreutils, 214 pengujian berhasil dijalankan, tetapi analog Rust belum lulus 313 pengujian. Pada saat yang sama, intensitas pengembangan proyek meningkat secara nyata - 400-470 patch ditambahkan per bulan dari 20-50 pengembang, bukan 30-60 dari 3-8 pengembang pada tahun lalu.

Pembaruan ke GNU Coreutils, ditulis ulang dalam Rust

Di antara pencapaian terbaru, optimalisasi kinerja dicatat - dalam keadaan saat ini, banyak utilitas, seperti head and cut, secara signifikan lebih unggul dalam kinerja dibandingkan opsi dari GNU Coreutils. Cakupan rangkaian pengujian telah diperluas dari 55% menjadi 75% dari seluruh kode (80% adalah target yang memadai). Kode telah difaktorkan ulang untuk menyederhanakan pemeliharaan, misalnya, penanganan kesalahan telah disatukan dalam berbagai program, dan kode untuk bekerja dengan hak akses telah digabungkan menjadi chgrp dan chown. Banyak perubahan telah ditambahkan untuk meningkatkan kompatibilitas dengan GNU Coreutils.

Rencana ke depan mencakup implementasi utilitas stty, melanjutkan upaya untuk meningkatkan kompatibilitas dengan GNU Coreutils, menambahkan optimasi untuk mengurangi ukuran file yang dapat dieksekusi, dan melanjutkan eksperimen dalam penggunaan Debian и Ubuntu uutils sebagai pengganti GNU Coreutils dan GNU Findutils (salah satu pengembang utama uutils sebelumnya terlibat dalam proyek ini untuk memastikan proses build berjalan lancar). Debian GNU/Linux menggunakan kompiler Clang). Selain itu, persiapan paket uutils-coreutils dicatat karena macOS, eksperimen untuk mengganti GNU Coreutils dengan uutils coreutils di NixOS, niat untuk menggunakan uutils coreutils secara default di distribusi Apertis dan adaptasi set uutils untuk Redox OS.

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster