Mae rhyddhau'r prosiect posixutils-rs 0.2.1 wedi'i gyhoeddi, gyda'r nod o ddatblygu yn yr iaith Rust gasgliad o gyfleustodau llinell orchymyn a grybwyllir yn safon POSIX a bodloni ei ofynion (cp, mv, awk, make, vi, find, sort, wc, xargs, sh, m4, sed, etc.). Yn ystod datblygiad, lle bynnag y bo modd, defnyddir pecynnau crât presennol. Mae'r cod posixutils-rs yn cael ei ddosbarthu o dan y drwydded MIT.
Mae'r prosiect yn canolbwyntio'n bennaf ar sicrhau cydymffurfiaeth â gofynion y fanyleb POSIX.2024 ac nid yw'n bwriadu darparu cydnawsedd â chyfleustodau GNU, y mae'r awduron yn ystyried bod ei swyddogaethau yn afresymol chwyddedig. Fodd bynnag, mae posixutils-rs yn bwriadu gweithredu'r opsiynau cyfleustodau GNU datblygedig mwyaf poblogaidd a geir mewn sgriptiau presennol.
Mae gwahaniaethau o'r prosiect uutils, sy'n datblygu gweithrediad GNU Coreutils yn Rust, yn cynnwys cwmpas ehangach o gyfleustodau, gan gynnwys, ymhlith pethau eraill, creu cydrannau system POSIX fel vi, awk, bc, m4, cron a'r casglwr c99, yn ogystal ag ymagwedd finimalaidd , sy'n awgrymu darparu dim ond y set ofynnol leiaf o opsiynau a ddiffinnir ym manyleb POSIX neu sy'n broblemus i'w gwneud hebddynt. Mae'r rhaglenni yn y gyfres posixutils-rs yn cael eu cyflenwi i ddechrau fel cod hunangynhwysol y gellir ei ddefnyddio mewn prosiectau eraill.
Ar hyn o bryd, mae 55 o gyfleustodau a ddatblygwyd gan y prosiect yn cydymffurfio â POSIX ac ar y cam cwmpas prawf, mae 22 cyfleustodau yn darparu'r swyddogaeth angenrheidiol (ond nid yw cwmpas y prawf wedi'i weithredu eto), mae 20 ar y cam drafft, ac nid yw gwaith ar 44 o gyfleustodau wedi'u gweithredu. etto wedi dechreu. Ymhlith y cyfleustodau sydd ag ymarferoldeb gweithredu: awk, basename, bc, cp, cut, chown, date, diff, file, find, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq. Ymhlith y cyfleustodau, nid yw gwaith wedi dechrau arno: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .
Mae newidiadau yn y datganiad newydd yn cynnwys ychwanegu gweithrediadau'r awk, m4, ps, realpath, join, amser, fuser a chyfleustodau gencat, yn ogystal â chefnogaeth gychwynnol ar gyfer gweithio mewn amgylcheddau sy'n seiliedig ar lyfrgell musl C a darparu'r ftw llyfrgell ar gyfer ras tramwyo coed cyfeiriadur a warchodir gan y wladwriaeth.
Yn ogystal, gallwn nodi cyhoeddiad y prosiect rav1d, sy'n datblygu datgodiwr perfformiad uchel ar gyfer fformat codio fideo AV1, wedi'i ysgrifennu yn yr iaith Rust. Cyflawnir datblygiad trwy drosglwyddo cod datgodiwr y llyfrgell dav1d, a nodweddir gan berfformiad uchel, i Rust. Mae'r porthladd parod yn gwbl gydnaws ag API llyfrgell dav1d. Eglurir y dewis i borthi llyfrgell bresennol yn lle ysgrifennu ein fersiwn ein hunain gan yr awydd i ddefnyddio datgodiwr sydd eisoes wedi'i brofi a'i brofi fel sail er mwyn osgoi problemau cydnawsedd posibl ac ystyried holl gymhlethdodau gweithio gyda fformat AV1.
Yn ei ffurf bresennol, mae gweithrediad parod rav1d 6% y tu ôl i dav1d mewn perfformiad, ond yn y dyfodol, ar ôl optimeiddio'r cod, bwriedir cyflawni cydraddoldeb mewn perfformiad. Er mwyn cyflawni perfformiad uchel, defnyddiwyd dull lle mae'r swyddogaethau sylfaenol ar gyfer datgodio gwerthoedd cyntefig yn cael eu gweithredu mewn cydosodwr ar ffurf blociau anniogel (defnyddir cod cydosod o dav1d), y derbynnir y data i mewn iddo ar ôl gwirio gyda dosrannu ffrwd swyddogaethau a ysgrifennwyd yn Rust (mae profiad blaenorol o nodi gwendidau mewn datgodyddion fideo yn dangos bod y problemau'n codi'n bennaf yn y cod dosrannu fformat lefel uchel, yn hytrach nag yn y gweithrediadau data lefel isel).
Ffynhonnell: opennet.ru
