Opdatering na GNU Coreutils, herskryf in Rust

Die vrystelling van die uutils coreutils 0.0.12 toolkit word aangebied, waarbinne 'n analoog van die GNU Coreutils-pakket, herskryf in die Rust-taal, ontwikkel word. Coreutils kom met meer as honderd hulpmiddels, insluitend sort, cat, chmod, chown, chroot, cp, date, dd, eggo, gasheernaam, id, ln en ls. Terselfdertyd is die uutils findutils 0.3.0-pakket vrygestel met 'n implementering in Rust van die nutsprogramme van die GNU Findutils-stel (vind, soek, opgedateerb en xargs).

Die rede vir die skep van die projek en die gebruik van die Rust-taal is die begeerte om 'n kruis-platform alternatiewe implementering van Coreutils en Findutils te skep, wat onder andere op Windows-, Redox- en Fuchsia-platforms kan werk. Nog 'n belangrike verskil tussen uutils is dat dit onder die MIT Permissive License versprei word, in plaas van die GPL copyleft-lisensie.

Tans is die implementering van 88 nutsprogramme ten volle in gelykheid gebring met GNU Coreutils. Individuele foute word opgemerk in 18 nutsprogramme, insluitend cp, dd, date, df, install, ls, more, sort, split, tail en test. Slegs die stty nut bly ongeïmplementeer. Wanneer die toetsreeks van die GNU Coreutils-projek geslaag word, word 214 toetse suksesvol uitgevoer, maar die Rust-analoog slaag nog nie 313 toetse nie. Terselfdertyd het die intensiteit van projekontwikkeling merkbaar toegeneem - 400-470 kolle word per maand bygevoeg van 20-50 ontwikkelaars in plaas van 30-60 van 3-8 ontwikkelaars 'n jaar gelede.

Opdatering na GNU Coreutils, herskryf in Rust

Onder die nuutste prestasies word prestasieoptimalisering opgemerk - in die huidige toestand is baie nutsprogramme, soos kop en sny, aansienlik beter in prestasie as die opsies van GNU Coreutils. Toetsreeksdekking is van 55% tot 75% van alle kode uitgebrei (80% is 'n voldoende teiken). Die kode is herfaktoreer om onderhoud te vereenvoudig, byvoorbeeld, fouthantering is in verskillende programme verenig, en kode vir werk met toegangsregte is gekombineer in chgrp en chown. Talle veranderinge is bygevoeg om versoenbaarheid met GNU Coreutils te verbeter.

Planne vir die toekoms sluit in die implementering van die stty-hulpprogram, voortgesette werk om verenigbaarheid met GNU Coreutils te verbeter, die byvoeging van optimalisering om die grootte van uitvoerbare lêers te verminder, sowel as voortgesette eksperimente oor die gebruik van uutils-hulpprogramme in Debian en Ubuntu in plaas van GNU Coreutils en GNU Findutils (een van die hoofontwikkelaars van uutils het voorheen aan 'n projek gewerk om Debian GNU/Linux te bou deur die Clang-samesteller te gebruik). Daarbenewens word kennis geneem van die voorbereiding van die uutils-coreutils-pakket vir macOS, eksperimente met die vervanging van GNU Coreutils met uutils-coreutils in NixOS, die voorneme om uutils-coreutils by verstek in die Apertis-verspreiding te gebruik, en die aanpassing van die uutils wat vir Redox OS gestel is.

Bron: opennet.ru

Voeg 'n opmerking