Avaldatud on posixutils-rs 0.2.1 versioon, mis on suunatud Rusti programmeerimisele POSIX-standardis mainitud ja selle nõuetele vastavate käsurea utiliidide kogumile (nt cp, mv, awk, make, vi, find, sort, wc, xargs, sh, m4, sed jne). Arendamisel kasutatakse, kui võimalik, juba olemasolevaid crate-pakke. posixutils-rs kood on jagatud MIT litsentsi alusel.
Projekt keskendub peamiselt POSIX.2024 spetsifikatsiooni nõuete täitmisele ja ei plaani tagada ühilduvust GNU utiliidiga, mille funktsionaalsust peavad autorid põhjendamatult paisutatud. Siiski plaanitakse posixutils-rs-s rakendada kõige populaarsemaid GNU utiliitide laiendatud valikuid, mida esineb olemasolevates skriptides.
Uutils projekti kõrval tuuakse välja laiemat utiliidide katvust, sealhulgas POSIX-is mainitud süsteemi komponente nagu vi, awk, bc, m4, cron ning c99 kompilaator, ja minimalistlik lähenemine, mis hõlmab ainult minimaalsete valikute pakkumist, mis on määratletud POSIX spetsifikatsioonis või ilma milleta oleks keeruline hakkama saada. posixutils-rs kogumi programmid tarnitakse algselt iseseisva koodina, mida saab kasutada teistes projektides.
Praegu vastab projektile 55 arendatavat utiliiti POSIX nõuetele ja nad on testimise katte all, 22 utiliidis on vajalik funktsionaalsus (aga katte testimise rakendamine on veel teostamata), 20 on mustandstaadiumis ja 44 utiliidiga ei ole veel alustatud. Teostatud funktsionaalsusega utiliidid hõlmavad: awk, basename, bc, cp, cut, chown, date, diff, file, find, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq. Utiliidid, mille arendamine ei ole veel alanud, hõlmavad: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi.
Uue väljaande muudatustest on märgitud utiliidide awk, m4, ps, realpath, join, time, fuser ja gencat rakenduste lisamine ning esialgne tugi töötamiseks musl C-raamatukogul põhinevates keskkondades ja ftw raamatukogu pakkumine katalooge läbimiseks soodustades olukordade konkurentsi eest kaitset.
Samas on välja kuulutatud rav1d projekt, mis arendab kõrge jõudlusega AV1 video kodeerimise dekooderit, mis on kirjutatud Rustis. Arendust teostatakse dav1d dekooderi koodi portimise kaudu, mis on tuntud oma kõrge jõudluse poolest. Valmistatud port on täielikult ühilduv dav1d raamatukogu API-ga. Otsus portida olemasolevat raamatukogu, mitte kirjutada oma versioon, tuleneb soovist kasutada juba tõestatud ja testitud dekooderit, et vältida võimalikke ühilduvusprobleeme ja arvesse võtta AV1 formaadiga töötamise kõiki nüansse.
Praegu jääb rakenduse rav1d jõudlus 6% alla dav1d-i oma, kuid tulevikus pärast koodi optimeerimist on plaanis jõudluse pariteedi saavutamine. Kõrge jõudluse saavutamiseks on kasutatud lähenemist, kus primitiivsete väärtuste dekodeerimise põhifunktsioonid on rakendatud assembleri keeles unsafe-plokkidena (kasutatakse dav1d-st pärit assembleri koodi), kuhu andmed jõuavad Rustis kirjutatud voogude analüüsi funktsioonide pärast. (Eelmine kogemus videode dekooderite haavatavuste tuvastamisel näitab, et probleemid tekivad enamasti kõrgetasemelises kodeerimises, mitte madala taseme andmetöötluses).
Allikas: opennet.ru
