De frijlitting fan it posixutils-rs 0.2.1-projekt is publisearre, rjochte op it ûntwikkeljen yn 'e Rust-taal in samling kommandorigelprogramma's neamd yn' e POSIX-standert en foldogge oan de easken (cp, mv, awk, make, vi, find, sort, wc, xargs, sh, m4, sed, ensfh.). By ûntwikkeling wurde, wannear mooglik, besteande kratpakketten brûkt. De posixutils-rs-koade wurdt ferspraat ûnder de MIT-lisinsje.
It projekt is primêr rjochte op it berikken fan neilibjen fan 'e easken fan' e POSIX.2024-spesifikaasje en is net fan plan om kompatibiliteit te leverjen mei GNU-nutsbedriuwen, wêrfan de funksjonaliteit troch de auteurs as ûnferstannich opblaasd wurdt waarnommen. Posixutils-rs is lykwols fan plan om de populêrste avansearre GNU-helpopsjes te ymplementearjen fûn yn besteande skripts.
Ferskillen fan it uutils-projekt, dat de GNU Coreutils-ymplemintaasje yn Rust ûntwikkelt, omfetsje in bredere omfang fan nutsbedriuwen, ynklusyf, ûnder oaren, it meitsjen fan sokke POSIX-systeemkomponinten as vi, awk, bc, m4, cron en de c99-kompiler, likegoed as in minimalistyske oanpak, dy't ymplisearret it leverjen fan allinich de minimale fereaske set opsjes definieare yn 'e POSIX-spesifikaasje of dy't problematysk binne om sûnder te dwaan. De programma's yn 'e posixutils-rs suite wurde yn earste ynstânsje levere as selsstannige koade dy't brûkt wurde kin yn oare projekten.
Op it stuit foldogge 55 nutsbedriuwen ûntwikkele troch it projekt oan POSIX en binne yn 'e testdekkingsfaze, 22 nutsbedriuwen leverje de nedige funksjonaliteit (mar testdekking is noch net ymplementearre), 20 binne yn' e konseptfaze, en wurk oan 44 nutsbedriuwen hat net noch begûn. Under de nutsbedriuwen mei ymplementearre funksjonaliteit: awk, basename, bc, cp, cut, chown, date, diff, file, find, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq. Under de nutsbedriuwen, wurk dêr't net oan begon is: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .
Feroarings yn 'e nije release omfetsje de tafoeging fan ymplemintaasjes fan' e awk, m4, ps, realpath, join, time, fuser en gencat utilities, lykas ek inisjele stipe foar wurkjen yn omjouwings basearre op 'e musl C-bibleteek en it oanbieden fan' e ftw bibleteek foar steat-beskerme triemtafel beam traversal race.
Derneist kinne wy de oankundiging notearje fan it rav1d-projekt, dat in dekoder mei hege prestaasjes ûntwikkelet foar it AV1-fideokodearringsformaat, skreaun yn 'e Rust-taal. Untwikkeling wurdt útfierd troch it portearjen fan de dekoderkoade fan 'e dav1d-bibleteek, dy't wurdt karakterisearre troch hege prestaasjes, nei Rust. De taret haven is folslein kompatibel mei de dav1d bibleteek API. De kar foar it portearjen fan in besteande bibleteek ynstee fan it skriuwen fan ús eigen ferzje wurdt ferklearre troch de winsk om in al bewezen en hifke decoder te brûken as basis om mooglike kompatibiliteitsproblemen te foarkommen en rekken te hâlden mei alle intricacies fan wurkjen mei it AV1-formaat.
Yn syn hjoeddeistige foarm is de taretbere ymplemintaasje fan rav1d 6% efter dav1d yn prestaasjes, mar yn 'e takomst, nei it optimalisearjen fan de koade, is it pland om pariteit yn prestaasjes te berikken. Om hege prestaasjes te berikken, waard in oanpak brûkt wêryn de basisfunksjes foar it dekodearjen fan primitive wearden wurde ymplementearre yn assembler yn 'e foarm fan ûnfeilige blokken (montagekoade fan dav1d wurdt brûkt), de gegevens wêryn wurde ûntfongen nei kontrôle mei streamparsing funksjes skreaun yn Rust (eardere ûnderfining by it identifisearjen fan kwetsberens yn fideodekodeurs lit sjen dat de problemen benammen ûntsteane yn 'e parsingkoade op hege nivo's, yn stee fan' e gegevensoperaasjes op leech nivo).
Boarne: opennet.ru
