Actualització a GNU Coreutils, reescrit a Rust

Es presenta el llançament del conjunt d'eines uutils coreutils 0.0.12, dins del qual s'està desenvolupant un anàleg del paquet GNU Coreutils, reescrit en llenguatge Rust. Coreutils inclou més d'un centenar d'utilitats, com ara sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Al mateix temps, es va llançar el paquet uutils findutils 0.3.0 amb una implementació a Rust de les utilitats del conjunt GNU Findutils (find, locate, updatedb i xargs).

El motiu de crear el projecte i utilitzar el llenguatge Rust és el desig de crear una implementació alternativa multiplataforma de Coreutils i Findutils, capaç de funcionar en plataformes com ara Windows, Redox i Fuchsia. Una altra diferència important és que uutils es distribueix sota la llicència permissiva MIT, en lloc de la GPL amb copyleft.

Actualment, la implementació de 88 utilitats ha estat totalment igualada amb GNU Coreutils. S'observen defectes individuals en 18 utilitats, incloent cp, dd, date, df, install, ls, more, sort, split, tail i prova. Només la utilitat stty roman sense implementar. En passar la suite de proves del projecte GNU Coreutils, s'executen amb èxit 214 proves, però l'analògic Rust encara no passa 313 proves. Al mateix temps, la intensitat del desenvolupament del projecte ha augmentat notablement: s'afegeixen 400-470 pegats al mes de 20-50 desenvolupadors en lloc de 30-60 de 3-8 desenvolupadors fa un any.

Actualització a GNU Coreutils, reescrit a Rust

Entre els darrers assoliments, es destaca l'optimització del rendiment: en l'estat actual, moltes utilitats, com ara head and cut, són significativament superiors en rendiment a les opcions de GNU Coreutils. La cobertura de la suite de proves s'ha ampliat del 55% al ​​75% de tot el codi (el 80% és un objectiu suficient). El codi s'ha refactoritzat per simplificar el manteniment, per exemple, la gestió d'errors s'ha unificat en diferents programes i el codi per treballar amb drets d'accés s'ha combinat en chgrp i chown. S'han afegit nombrosos canvis per millorar la compatibilitat amb GNU Coreutils.

Els plans futurs inclouen la implementació de la utilitat stty, continuar treballant per millorar la compatibilitat amb GNU Coreutils, afegir optimitzacions per reduir la mida dels fitxers executables i continuar experimentant amb l'ús de Debian и Ubuntu uutils en lloc de GNU Coreutils i GNU Findutils (un dels principals desenvolupadors d'uutils ja havia participat en el projecte per garantir la compilació Debian GNU/Linux utilitzant el compilador Clang). A més, la preparació del paquet uutils-coreutils és destacable per macOS, experiments amb la substitució de GNU Coreutils per uutils coreutils a NixOS, la intenció d'utilitzar uutils coreutils per defecte a la distribució Apertis i l'adaptació del conjunt d'uutils per a Redox OS.

Font: opennet.ru

Compreu allotjament fiable per a llocs amb protecció DDoS, servidors VPS VDS 🔥 Compra allotjament web fiable amb protecció DDoS, servidors VPS VDS | ProHoster