A Rust nyelven átírt GNU Coreutils frissítése

Bemutatják az uutils coreutils 0.0.12 eszközkészlet kiadását, amelyen belül a GNU Coreutils csomag Rust nyelvre átírt analógja fejlesztés alatt áll. A Coreutils több mint száz segédprogramot tartalmaz, beleértve a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln és ls. Ezzel egyidőben megjelent az uutils findutils 0.3.0 csomag a GNU Findutils programcsomag segédprogramjainak Rust implementációjával (find, locate, updatedb és xargs).

A projekt létrehozásának és a Rust nyelv használatának oka a Coreutils és Findutils platformok közötti alternatív megvalósításának a létrehozása, amely Windows, Redox és Fuchsia platformokon is működhet. Egy másik fontos különbség az uutils-szal szemben, hogy a GPL copyleft licenc helyett az MIT engedélyével kerül terjesztésre.

Jelenleg 88 segédprogram megvalósítása teljesen egyenlő a GNU Coreutils-szal. Az egyedi hibákat 18 segédprogram észleli, beleértve a cp, dd, date, df, install, ls, more, sort, split, tail és tesztet. Csak a stty segédprogram marad implementálatlanul. A GNU Coreutils projekt tesztcsomagjának átadásakor 214 teszt sikeresen befejeződött, de a Rust analóg még nem megy át 313 teszten. A projektfejlesztés intenzitása ugyanakkor markánsan megnőtt - 400-470 fejlesztőtől havonta 20-50 patch-el bővül az egy évvel ezelőtti 30-60 fejlesztő helyett.

A Rust nyelven átírt GNU Coreutils frissítése

A közelmúltban elért eredmények közül a teljesítmény optimalizálása figyelhető meg - a jelenlegi állapotban számos segédprogram, például a fej és a vágás, teljesítményben jelentősen felülmúlja a GNU Coreutils lehetőségeit. A tesztkészlet lefedettsége az összes kód 55%-áról 75%-ra nőtt (80% elegendő cél). A kódot a karbantartás egyszerűsítése érdekében átdolgozták, például egységesítették a különböző programok hibakezelését, a chgrp-ben és a chown-ban kombinálták a hozzáférési jogokkal való munkavégzés kódját. Számos változtatás történt a GNU Coreutils kompatibilitás javítása érdekében.

A jövőre vonatkozó tervek között szerepel a stty segédprogram megvalósítása, a GNU Coreutils-szal való kompatibilitás javítására irányuló munka folytatása, a végrehajtható fájlok méretének csökkentésére szolgáló optimalizálások hozzáadása, valamint a GNU Coreutils és a GNU Findutils (az egyik legfontosabb) helyett az uutils használatának folytatása. az uutils fejlesztői) a Debianban és az Ubuntuban korábban dolgoztak egy projekten, amely a Clang fordító segítségével Debian GNU/Linux összeállítást biztosít. Emellett meg kell jegyezni az uutils-coreutils csomag előkészítését a macOS-hez, a kísérleteket a GNU Coreutils újils coreutils lecserélésével a NixOS rendszeren, az uutils coreutils alapértelmezés szerinti használatának szándékát az Apertis disztribúcióban, valamint az uutils beállított Redox OS-hez adaptálását. .

Forrás: opennet.ru

Hozzászólás