Atjauninājums uz GNU Coreutils, pārrakstīts Rust

Tiek prezentēts rīkkopas uutils coreutils 0.0.12 izlaidums, kura ietvaros tiek izstrādāts Rust valodā pārrakstītās GNU Coreutils pakotnes analogs. Programmā Coreutils ir vairāk nekā simts utilītu, tostarp sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln un ls. Tajā pašā laikā tika izlaista uutils findutils 0.3.0 pakotne ar utilītu ieviešanu no GNU Findutils komplekta (atrast, atrast, atjauninātb un xargs) Rust.

Projekta izveides un Rust valodas izmantošanas iemesls ir vēlme izveidot starpplatformu alternatīvu Coreutils un Findutils ieviešanu, kas cita starpā varētu darboties Windows, Redox un Fuchsia platformās. Vēl viena būtiska atšķirība starp uutilu ir tā, ka tas tiek izplatīts saskaņā ar MIT Permissive License, nevis GPL copyleft licenci.

Pašlaik 88 utilītu ieviešana ir pilnībā saskaņota ar GNU Coreutils. Atsevišķi trūkumi tiek konstatēti 18 utilītprogrammās, tostarp cp, dd, date, df, install, ls, more, sort, split, tail un test. Tikai stty lietderība paliek neieviesta. Nokārtojot GNU Coreutils projekta testu komplektu, tiek veiksmīgi izpildīti 214 testi, bet Rust analogs vēl neiztur 313 testus. Tajā pašā laikā ir manāmi pieaugusi projektu izstrādes intensitāte - mēnesī tiek pievienoti 400-470 ielāpi no 20-50 izstrādātājiem, nevis 30-60 no 3-8 izstrādātājiem pirms gada.

Atjauninājums uz GNU Coreutils, pārrakstīts Rust

Starp jaunākajiem sasniegumiem tiek atzīmēta veiktspējas optimizācija - pašreizējā stāvoklī daudzas utilītas, piemēram, galvas un griezums, ir ievērojami labākas par GNU Coreutils iespējām. Testa komplekta pārklājums ir paplašināts no 55% līdz 75% no visa koda (80% ir pietiekams mērķis). Kods ir pārveidots, lai vienkāršotu apkopi, piemēram, kļūdu apstrāde ir apvienota dažādās programmās, un kods darbam ar piekļuves tiesībām ir apvienots chgrp un chown. Ir pievienotas daudzas izmaiņas, lai uzlabotu saderību ar GNU Coreutils.

Nākotnes plānos ietilpst utilīta stty ieviešana, turpināts darbs, lai uzlabotu saderību ar GNU Coreutils, optimizācijas pievienošana, lai samazinātu izpildāmo failu lielumu, kā arī turpināti eksperimenti par uutils utilītu izmantošanu Debian un Ubuntu GNU Coreutils un GNU vietā. Findutils (viens no galvenajiem uutilu izstrādātājiem iepriekš strādāja pie projekta, lai izveidotu Debian GNU/Linux, izmantojot kompilatoru Clang). Turklāt tiek atzīmēta paketes uutils-coreutils sagatavošana operētājsistēmai macOS, eksperimenti ar GNU Coreutils aizstāšanu ar uutils coreutils sistēmā NixOS, nodoms pēc noklusējuma izmantot uutils coreutils Apertis izplatīšanā un komplekta uutils adaptācija Redox OS.

Avots: opennet.ru

Pievieno komentāru