Aggiornamento della variante GNU Coreutils, riscritta in Rust.

È stata presentata la versione 0.0.12 degli strumenti uutils coreutils, che sviluppa un equivalente del pacchetto GNU Coreutils riscritto in Rust. Il pacchetto coreutils comprende oltre cento utilità, tra cui sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. Contemporaneamente è stato rilasciato il pacchetto uutils findutils 0.3.0 con l'implementazione in Rust delle utilità del pacchetto GNU Findutils (find, locate, updatedb e xargs).

La motivazione alla base della creazione del progetto e dell'utilizzo del linguaggio Rust è il desiderio di sviluppare un'implementazione alternativa multipiattaforma di Coreutils e Findutils, in grado di funzionare anche su piattaforme Windows, Redox e Fuchsia. Un'altra differenza significativa di uutils è che è distribuito sotto una licenza permissiva MIT, invece della licenza copyleft GPL.

Attualmente, sono completamente paritari rispetto a GNU Coreutils 88 utilità. Alcuni problemi rimangono in 18 utilità, tra cui cp, dd, date, df, install, ls, more, sort, split, tail e test. L'unica utilità non implementata è stty. Durante il passaggio del set di test del progetto GNU Coreutils, vengono superati con successo 214 test, ma 313 test dell'equivalente in Rust non vengono ancora superati. Nel frattempo, l'intensità dello sviluppo del progetto è aumentata notevolmente: al mese vengono aggiunti 400-470 patch da 20-50 sviluppatori, rispetto a 30-60 di 3-8 sviluppatori di un anno fa.

Aggiornamento della variante GNU Coreutils, riscritta in Rust.

Tra i recenti successi si segnala l'ottimizzazione delle prestazioni: attualmente molte utilità, come head e cut, superano significativamente in prestazioni le versioni di GNU Coreutils. La copertura del set di test è stata ampliata dal 55% al 75% dell'intero codice (l'obiettivo sufficiente è l'80%). È stata effettuata una refactoring del codice per semplificarne la manutenzione, ad esempio, è stata unificata la gestione degli errori in diversi programmi, e nei comandi chgrp e chown è stato unito il codice per la gestione dei diritti di accesso. Sono state aggiunte numerose modifiche per migliorare la compatibilità con GNU Coreutils.

Nei piani futuri si segnala l'implementazione dell'utilità stty, il proseguimento dei lavori per migliorare la compatibilità con GNU Coreutils, l'aggiunta di ottimizzazioni per ridurre le dimensioni dei file eseguibili, nonché il continuo esperimento dell'uso delle utilità uutils al posto di GNU Coreutils e GNU Findutils in Debian e Ubuntu (uno dei principali sviluppatori di uutils ha precedentemente lavorato a un progetto per garantire la compilazione di Debian GNU/Linux utilizzando il compilatore Clang). Si segnala inoltre la preparazione del pacchetto uutils-coreutils per macOS, esperimenti con la sostituzione di GNU Coreutils con uutils coreutils in NixOS, l'intenzione di utilizzare uutils coreutils per impostazione predefinita nella distribuzione Apertis e l'adattamento del pacchetto uutils per Redox OS.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster