Utgivelsen av prosjektet uutils coreutils 0.3.0 (Rust Coreutils), som utvikler et alternativ til GNU Coreutils-pakken skrevet i Rust, er nÄ offentliggjort. Coreutils inkluderer over hundre verktÞy, inkludert sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln og ls. Prosjektets mÄl er Ä skape en tverrplattform alternativ implementering av Coreutils, blant annet i stand til Ä kjÞre pÄ Windows, Redox og Fuchsia.
Rust Coreutils er standard implementert i Ubuntu 25.10 og brukes i distribusjoner som AerynOS (Serpent OS) og Apertis (utviklet av Collabora). I motsetning til GNU Coreutils er Rust-implementeringen lisensiert under den permissive MIT-lisensen, i stedet for kopileft-lisensen GPL. I tillegg utvikler det samme utviklingsteamet Rust-baserte alternativer til verktĂžyene util-linux, diffutils, findutils og procps, samt programmene sed og login.
I den nye versjonen av Rust Coreutils:
- Ytelsen til enkelte verktĂžy er betydelig forbedret; for eksempel er sortering nĂ„ 3.72 ganger raskere ved vanlig sortering og 1.46 ganger raskere ved sortering av tall sammenlignet med GNU Coreutils, base64 er 1.2 ganger raskere, expand er 1.8 ganger raskere, unexpand â 1.5 ganger raskere, nl â 1.57 ganger raskere, fold â 1.19 ganger raskere, og «uniq -c» er 1.13 ganger raskere.
- Infrastrukturen for ytelsessporing er bygget pÄ CodSpeed-verktÞyet. I systemet for kontinuerlig integrering oppdages regresjoner i ytelsen. Ytelsestester for 15 verktÞy er lagt til, blant dem sort, ls, uniq, du og base64.
- For verktÞyene rm, du, chmod og chgrp er trygg hÄndtering av relative mappestier implementert, basert pÄ bruken av funksjonene openat og unlinkat.
- Sikkerheten er forbedret ved Ă„ bruke crate-pakken nix i stedet for unsafe-anrop til libc.
- FeilhÄndteringen er forbedret og er nÄ nÊrmere GNU Coreutils-feilhÄndtering i mange verktÞy.
- Kompatibiliteten med Coreutils ved hÄndtering av filstier som inneholder og ikke inneholder UTF8-tegn er forbedret.
- Kompatibiliteten med den referanse testsettet til GNU Coreutils er forbedret, og 532 tester ble vellykket utfÞrt (i forrige versjon 538), 68 (52) tester feilet, og 33 (27) tester ble utelatt. Den rapporterte kompatibilitetsnivÄet er 83.91% (det var 87.06%). Reduksjonen i kompatibilitetsnivÄet skyldes at 16 nye tester ble lagt til testsettet.
- I verktĂžyet date er det implementert et alternativ «âreference=file» for Ă„ vise endringstidspunktet for en fil. PĂ„ grunn av fravĂŠret av dette alternativet har automatisert oppdateringskontroll sluttet Ă„ fungere i Ubuntu. I date er ogsĂ„ logikken for tidsparsing konsolidert, forbedret kompatibilitet i GNU date med implementering av alternativet «-d», og det er lagt til et flagg «âresolution» for Ă„ vise data om tidsnĂžyaktighet.
- Det er implementert alternativer: «basenc âbase58», «id -a», «ls -f», «pinky âlookup», «realpath -E», «rm âprogress».
- Mulighetene er utvidet, problemer er lĂžst, og manglende alternativer er lagt til for verktĂžyene base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore.
Kilde: opennet.ru
