Opdatering af GNU Coreutils omskrevet i Rust

Udgivelsen af ​​uutils coreutils 0.0.12 værktøjssættet præsenteres, inden for hvilket en analog af GNU Coreutils-pakken, omskrevet til Rust-sproget, er ved at blive udviklet. Coreutils kommer med over hundrede hjælpeprogrammer, inklusive sort, cat, chmod, chown, chroot, cp, date, dd, echo, værtsnavn, id, ln og ls. På samme tid blev uutils findutils 0.3.0-pakken frigivet med en Rust-implementering af hjælpeprogrammerne fra GNU Findutils-pakken (find, lokaliser, updatedb og xargs).

Årsagen til at skabe projektet og bruge Rust-sproget er ønsket om at skabe en cross-platform alternativ implementering af Coreutils og Findutils, som også kan fungere på Windows, Redox og Fuchsia platforme. En anden vigtig forskel med uutils er, at den distribueres under MIT tilladende licens i stedet for GPL copyleft-licensen.

I øjeblikket er implementeringen af ​​88 hjælpeprogrammer fuldt bragt til paritet med GNU Coreutils. Individuelle fejl er noteret i 18 hjælpeprogrammer, inklusive cp, dd, date, df, install, ls, more, sort, split, tail og test. Kun stty-værktøjet forbliver uimplementeret. Når testpakken fra GNU Coreutils-projektet er bestået, er 214 tests gennemført med succes, men Rust-analogen består endnu ikke 313 tests. Samtidig er intensiteten i projektudviklingen steget markant – 400-470 patches tilføjes om måneden fra 20-50 udviklere i stedet for 30-60 fra 3-8 udviklere for et år siden.

Opdatering af GNU Coreutils omskrevet i Rust

Af de seneste præstationer er ydeevneoptimering bemærket - i den nuværende tilstand overgår mange værktøjer, såsom hoved og snit, markant mulighederne fra GNU Coreutils med hensyn til ydeevne. Testsuites dækning steg fra 55 % til 75 % af al kode (80 % er et tilstrækkeligt mål). Koden blev ændret for at forenkle vedligeholdelsen, for eksempel blev fejlhåndtering i forskellige programmer samlet, og kode til at arbejde med adgangsrettigheder blev kombineret i chgrp og chown. Adskillige ændringer er blevet tilføjet for at forbedre kompatibiliteten med GNU Coreutils.

Planer for fremtiden omfatter implementering af stty-værktøjet, fortsat arbejde med at forbedre kompatibiliteten med GNU Coreutils, tilføjelse af optimeringer for at reducere størrelsen af ​​eksekverbare filer og fortsat eksperimentere med at bruge uutils-værktøjerne i Debian og Ubuntu i stedet for GNU Coreutils og GNU Findutils (en af ​​hovedudviklerne af uutils har tidligere arbejdet på et projekt for at levere en Debian GNU/Linux-build ved hjælp af Clang-kompileren). Derudover bemærkes forberedelsen af ​​uutils-coreutils-pakken til macOS, eksperimentet med at erstatte GNU Coreutils med uutils-coreutils på NixOS, intentionen om at bruge uutils-coreutils som standard i Apertis-distributionen og tilpasningen af ​​uutils-sættet til Redox OS. .

Kilde: opennet.ru

Tilføj en kommentar