Ùrachadh gu GNU Coreutils, air ath-sgrìobhadh ann an Rust

Tha sgaoileadh a’ phacaid inneal uutils coreutils 0.0.12 air a thaisbeanadh, anns a bheil analogue den phasgan GNU Coreutils, air ath-sgrìobhadh sa chànan Rust, ga leasachadh. Bidh Coreutils a’ tighinn le còrr air ceud goireas, a’ toirt a-steach sort, cat, chmod, chown, chroot, cp, ceann-latha, dd, mac-talla, ainm aoigheachd, id, ln, agus ls. Aig an aon àm, chaidh am pasgan uutils findutils 0.3.0 a leigeil ma sgaoil le buileachadh ann an Rust de na goireasan bhon t-seata GNU Findutils (lorg, lorg, ùrachadhb agus xargs).

Is e an adhbhar airson am pròiseact a chruthachadh agus a bhith a’ cleachdadh cànan Rust am miann a bhith a’ cruthachadh buileachadh eile thar-àrd-ùrlar de Coreutils agus Findutils, comasach air ruith air àrd-ùrlaran Windows, Redox agus Fuchsia, am measg feadhainn eile. Is e eadar-dhealachadh cudromach eile eadar goireasan gu bheil e air a chuairteachadh fo Chead Cead MIT, an àite a’ chead copyleft GPL.

An-dràsta, tha buileachadh 88 goireas air a thoirt gu làn cho-ionann ri GNU Coreutils. Tha lochdan fa leth air an toirt fa-near ann an 18 goireasan, a’ toirt a-steach cp, dd, ceann-latha, df, stàladh, ls, barrachd, seòrsa, sgoltadh, earball agus deuchainn. Chan eil ach an goireas stty fhathast gun bhuileachadh. Nuair a thèid thu seachad air an t-sreath deuchainn bhon phròiseact GNU Coreutils, thèid 214 deuchainn a chuir gu bàs gu soirbheachail, ach chan eil an analogue Rust a’ dol seachad air 313 deuchainn fhathast. Aig an aon àm, tha dian leasachadh pròiseict air a dhol suas gu mòr - tha 400-470 badan air an cur ris gach mìos bho luchd-leasachaidh 20-50 an àite 30-60 bho luchd-leasachaidh 3-8 bliadhna air ais.

Ùrachadh gu GNU Coreutils, air ath-sgrìobhadh ann an Rust

Am measg nan coileanaidhean as ùire, thathas a’ toirt fa-near optimization coileanaidh - anns an staid làithreach, tha mòran ghoireasan, leithid ceann is gearradh, gu math nas fheàrr ann an coileanadh na roghainnean bho GNU Coreutils. Chaidh còmhdach sreath deuchainn a leudachadh bho 55% gu 75% den chòd gu lèir (tha 80% na thargaid gu leòr). Chaidh an còd atharrachadh gus cumail suas a dhèanamh nas sìmplidhe, mar eisimpleir, chaidh làimhseachadh mhearachdan aonachadh ann an diofar phrògraman, agus chaidh còd obrachadh le còraichean-slighe a chur còmhla ann an chgrp agus chown. Chaidh grunn atharrachaidhean a chur ris gus co-chòrdalachd le GNU Coreutils a leasachadh.

Tha planaichean airson an ama ri teachd a’ toirt a-steach buileachadh a’ ghoireas stty, obair leantainneach gus co-chòrdalachd le GNU Coreutils a leasachadh, a’ cur optimizations ris gus meud fhaidhlichean so-ghnìomhaichte a lughdachadh, a bharrachd air deuchainnean leantainneach mu bhith a’ cleachdadh uutils goireasan ann an Debian agus Ubuntu an àite GNU Coreutils agus GNU Findutils (bha fear de phrìomh luchd-leasachaidh uutils ag obair roimhe air pròiseact gus Debian GNU/Linux a thogail a’ cleachdadh an inneal-cruinneachaidh Clang). A bharrachd air an sin, tha ullachadh a’ phacaid uutils-coreutils airson macOS, deuchainnean le bhith a’ cur uutils coreutils an àite GNU Coreutils ann an NixOS, an rùn uutils coreutils a chleachdadh gu bunaiteach ann an cuairteachadh Apertis, agus atharrachadh nan goireasan a chaidh a shuidheachadh airson Redox OS.

Source: fosgailtenet.ru

Cuir beachd ann