Pag-update sa GNU Coreutils nga gisulat pag-usab sa Rust

Ang pagpagawas sa uutils coreutils 0.0.12 toolkit gipresentar, diin ang usa ka analogue sa GNU Coreutils nga pakete, nga gisulat pag-usab sa Rust nga pinulongan, gihimo. Ang Coreutils adunay kapin sa usa ka gatos ka mga utilities, lakip ang sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ug ls. Sa samang higayon, ang uutils findutils 0.3.0 nga pakete gipagawas nga adunay pagpatuman sa Rust sa mga utilities gikan sa GNU Findutils set (pangitaa, pangitaa, updatedb ug xargs).

Ang rason sa paghimo sa proyekto ug paggamit sa Rust nga pinulongan mao ang tinguha sa paghimo sa usa ka cross-platform alternatibo nga pagpatuman sa Coreutils ug Findutils, makahimo sa pagdagan sa Windows, Redox ug Fuchsia plataporma, ug uban pa. Ang laing importante nga kalainan tali sa uutils mao nga kini giapod-apod ubos sa MIT Permissive License, imbes sa GPL copyleft nga lisensya.

Sa pagkakaron, ang pagpatuman sa 88 ka mga utilities bug-os nga nadala ngadto sa pagkaparehas sa GNU Coreutils. Ang mga indibidwal nga mga sayup nakit-an sa 18 nga mga utilities, lakip ang cp, dd, petsa, df, pag-install, ls, daghan pa, pag-sort, split, ikog ug pagsulay. Ang stty utility lang ang nagpabilin nga wala gipatuman. Kung gipasa ang test suite gikan sa proyekto sa GNU Coreutils, 214 nga mga pagsulay ang malampuson nga gipatuman, apan ang Rust analogue wala pa makapasar sa 313 nga mga pagsulay. Sa parehas nga oras, ang intensity sa pag-uswag sa proyekto namatikdan nga nadugangan - 400-470 nga mga patch ang gidugang matag bulan gikan sa 20-50 nga mga developer imbis nga 30-60 gikan sa 3-8 nga mga developer sa usa ka tuig ang milabay.

Pag-update sa GNU Coreutils nga gisulat pag-usab sa Rust

Taliwala sa pinakabag-o nga mga kalampusan, ang performance optimization namatikdan - sa kasamtangan nga estado, daghang mga utilities, sama sa ulo ug pagputol, mas labaw sa performance sa mga opsyon gikan sa GNU Coreutils. Ang coverage sa test suite gipalapdan gikan sa 55% ngadto sa 75% sa tanan nga code (80% usa ka igo nga target). Ang code gi-refactored aron pasimplehon ang pagmentinar, pananglitan, ang pagdumala sa sayop nahiusa sa lain-laing mga programa, ug ang code alang sa pagtrabaho uban sa mga katungod sa pag-access gihiusa sa chgrp ug chown. Daghang mga pagbag-o ang gidugang aron mapaayo ang pagkaangay sa GNU Coreutils.

Ang mga plano alang sa umaabot naglakip sa pagpatuman sa stty utility, padayon nga pagtrabaho aron mapalambo ang pagkaangay sa GNU Coreutils, pagdugang sa mga pag-optimize aron makunhuran ang gidak-on sa mga executable nga mga file, ingon man ang padayon nga mga eksperimento sa paggamit sa uutils utilities sa Debian ug Ubuntu imbes sa GNU Coreutils ug GNU Findutils (usa sa mga nag-unang developer sa uutils kaniadto nagtrabaho sa usa ka proyekto sa pagtukod sa Debian GNU/Linux gamit ang Clang compiler). Dugang pa, ang pag-andam sa uutils-coreutils nga pakete para sa macOS, mga eksperimento sa pag-ilis sa GNU Coreutils sa uutils coreutils sa NixOS, ang tuyo nga gamiton ang uutils coreutils nga default sa Apertis distribution, ug ang pagpahaom sa uutils nga gitakda para sa Redox OS namatikdan.

Source: opennet.ru

Idugang sa usa ka comment