Rust-da qayta yozilgan GNU Coreutils-ga yangilash

Uutils coreutils 0.0.12 asboblar to'plamining chiqarilishi taqdim etilgan bo'lib, uning doirasida Rust tilida qayta yozilgan GNU Coreutils to'plamining analogi ishlab chiqilmoqda. Coreutils sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln va ls kabi yuzdan ortiq yordamchi dasturlar bilan birga keladi. Shu bilan birga, uutils findutils 0.3.0 to'plami GNU Findutils to'plamidan (topish, topish, updatedb va xargs) yordam dasturlarini Rust dasturida amalga oshirish bilan chiqarildi.

Loyihani yaratish va Rust tilidan foydalanish sababi Windows, Redox va Fuchsia platformalarida ishlashga qodir bo'lgan Coreutils va Findutils-ning kross-platforma muqobil ilovasini yaratish istagidir. Uutils o'rtasidagi yana bir muhim farq shundaki, u GPL copyleft litsenziyasi o'rniga MIT ruxsat beruvchi litsenziyasi ostida tarqatiladi.

Hozirgi vaqtda 88 ta yordamchi dasturlarni amalga oshirish GNU Coreutils bilan to'liq tenglashtirildi. Shaxsiy kamchiliklar 18 ta yordamchi dasturlarda qayd etilgan, jumladan cp, dd, date, df, install, ls, more, sort, split, tail and test. Faqat stty yordam dasturi bajarilmagan bo'lib qoladi. GNU Coreutils loyihasidan test to'plamini topshirishda 214 ta test muvaffaqiyatli bajarildi, ammo Rust analogi hali 313 ta testdan o'tmaydi. Shu bilan birga, loyihani ishlab chiqish intensivligi sezilarli darajada oshdi - bir yil oldin 400-470 ishlab chiquvchidan 20-50 o'rniga 30-60 ta ishlab chiquvchidan oyiga 3-8 ta yamoq qo'shiladi.

Rust-da qayta yozilgan GNU Coreutils-ga yangilash

Eng so'nggi yutuqlar orasida ishlashni optimallashtirish qayd etilgan - hozirgi holatda, bosh va kesish kabi ko'plab yordamchi dasturlar GNU Coreutils variantlaridan sezilarli darajada ustundir. Test to'plamining qamrovi barcha kodlarning 55% dan 75% gacha kengaytirildi (80% etarli maqsad). Kod texnik xizmat ko'rsatishni soddalashtirish uchun qayta tiklandi, masalan, xatolarni qayta ishlash turli dasturlarda birlashtirildi va kirish huquqlari bilan ishlash uchun kod chgrp va chownga birlashtirildi. GNU Coreutils bilan muvofiqlikni yaxshilash uchun ko'plab o'zgarishlar kiritildi.

Kelajakdagi rejalarga stty yordam dasturini joriy etish, GNU Coreutils bilan muvofiqlikni yaxshilash bo'yicha davomiy ishlar, bajariladigan fayllar hajmini kamaytirish uchun optimallashtirishlarni qo'shish, shuningdek, GNU Coreutils va GNU o'rniga Debian va Ubuntu'da uutils yordam dasturlaridan foydalanish bo'yicha davomli tajribalar kiradi. Findutils (uutils-ning asosiy ishlab chiquvchilaridan biri avval Clang kompilyatoridan foydalangan holda Debian GNU/Linux-ni yaratish loyihasi ustida ishlagan). Bundan tashqari, macOS uchun uutils-coreutils paketini tayyorlash, NixOS’da GNU Coreutils’ni uutils coreutils bilan almashtirish bo‘yicha tajribalar, Apertis taqsimotida sukut bo‘yicha uutils coreutils’dan foydalanish niyati va Redox OS uchun o‘rnatilgan uutils moslashuvi qayd etilgan.

Manba: opennet.ru

a Izoh qo'shish