Update sa GNU Coreutils, muling isinulat sa Rust

Ang paglabas ng uutils coreutils 0.0.12 toolkit ay ipinakita, kung saan ang isang analogue ng GNU Coreutils package, na muling isinulat sa Rust na wika, ay binuo. Ang Coreutils ay may higit sa isang daang utility, kabilang ang sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, at ls. Kasabay nito, ang uutils findutils 0.3.0 package ay inilabas na may pagpapatupad sa Rust ng mga utility mula sa GNU Findutils set (hanapin, hanapin, updatedb at xargs).

Ang dahilan ng paglikha ng proyekto at paggamit ng Rust na wika ay ang pagnanais na lumikha ng isang cross-platform na alternatibong pagpapatupad ng Coreutils at Findutils, na may kakayahang tumakbo sa Windows, Redox at Fuchsia platform, bukod sa iba pa. Ang isa pang mahalagang pagkakaiba sa pagitan ng uutils ay na ito ay ipinamamahagi sa ilalim ng MIT Permissive License, sa halip na ang GPL copyleft na lisensya.

Sa kasalukuyan, ang pagpapatupad ng 88 na mga utilidad ay ganap na naaayon sa GNU Coreutils. Ang mga indibidwal na kapintasan ay nabanggit sa 18 mga utility, kabilang ang cp, dd, petsa, df, pag-install, ls, higit pa, pag-uri-uriin, hatiin, buntot at pagsubok. Tanging ang stty utility ay nananatiling hindi naipapatupad. Kapag pumasa sa test suite mula sa proyekto ng GNU Coreutils, 214 na pagsubok ang matagumpay na naisakatuparan, ngunit ang Rust analogue ay hindi pa pumasa sa 313 na pagsubok. Kasabay nito, ang intensity ng pagbuo ng proyekto ay kapansin-pansing tumaas - 400-470 na mga patch ay idinagdag bawat buwan mula sa 20-50 na mga developer sa halip na 30-60 mula sa 3-8 na mga developer sa isang taon na ang nakalipas.

Update sa GNU Coreutils, muling isinulat sa Rust

Kabilang sa mga pinakabagong tagumpay, nabanggit ang pag-optimize ng pagganap - sa kasalukuyang estado, maraming mga utility, tulad ng head at cut, ay higit na nakahihigit sa pagganap kaysa sa mga opsyon mula sa GNU Coreutils. Ang saklaw ng test suite ay pinalawak mula 55% hanggang 75% ng lahat ng code (80% ay isang sapat na target). Ang code ay refactored upang pasimplehin ang pagpapanatili, halimbawa, ang paghawak ng error ay pinag-isa sa iba't ibang mga programa, at ang code para sa pagtatrabaho sa mga karapatan sa pag-access ay pinagsama sa chgrp at chown. Maraming mga pagbabago ang naidagdag upang mapabuti ang pagiging tugma sa GNU Coreutils.

Kasama sa mga plano para sa hinaharap ang pagpapatupad ng stty utility, patuloy na trabaho para mapahusay ang compatibility sa GNU Coreutils, pagdaragdag ng mga optimization para bawasan ang laki ng mga executable file, pati na rin ang patuloy na mga eksperimento sa paggamit ng uutils utility sa Debian at Ubuntu sa halip na GNU Coreutils at GNU Findutils (isa sa mga pangunahing developer ng uutils na dating nagtrabaho sa isang proyekto upang bumuo ng Debian GNU/Linux gamit ang Clang compiler). Bukod pa rito, ang paghahanda ng uutils-coreutils package para sa macOS, mga eksperimento sa pagpapalit ng GNU Coreutils ng uutils coreutils sa NixOS, ang intensyon na gamitin ang uutils coreutils bilang default sa Apertis distribution, at ang adaptasyon ng uutils na itinakda para sa Redox OS.

Pinagmulan: opennet.ru

Magdagdag ng komento