Zida za POSIX ndi AV1 decoder zolembedwa mu Rust

Kutulutsidwa kwa pulojekiti ya posixutils-rs 0.2.1 kwasindikizidwa, komwe cholinga chake ndi kupanga m'chinenero cha Rust mndandanda wazinthu zothandizira zomwe zimatchulidwa muyeso ya POSIX ndikukwaniritsa zofunikira zake (cp, mv, awk, make, vi, kupeza, sort, wc, xargs, sh, m4, sed, etc.). Pachitukuko, ngati kuli kotheka, mapaketi a crate omwe alipo amagwiritsidwa ntchito. Khodi ya posixutils-rs imagawidwa pansi pa layisensi ya MIT.

Pulojekitiyi ikuyang'ana makamaka pakukwaniritsa zofunikira za POSIX.2024 ndipo sakukonzekera kupereka kugwirizanitsa ndi ntchito za GNU, ntchito zomwe olembawo amawona kuti ndizosavomerezeka. Komabe, posixutils-rs ikukonzekera kukhazikitsa njira zodziwika bwino za GNU zomwe zimapezeka m'malemba omwe alipo.

Kusiyanitsa kwa pulojekiti ya uutils, yomwe imapanga kukhazikitsidwa kwa GNU Coreutils ku Rust, kumaphatikizapo zambiri zothandizira, kuphatikizapo, pakati pa zinthu zina, kupanga zida za dongosolo la POSIX monga vi, awk, bc, m4, cron ndi c99 compiler, komanso njira yochepetsera , zomwe zikutanthauza kupereka zosankha zochepa zomwe zimafotokozedwa mu POSIX kapena zomwe zimakhala zovuta kuchita popanda. Mapulogalamu omwe ali mu posixutils-rs suite amaperekedwa ngati code yodziyimira yokha yomwe ingagwiritsidwe ntchito m'mapulojekiti ena.

Pakadali pano, zida 55 zomwe zapangidwa ndi polojekitiyi zikugwirizana ndi POSIX ndipo zili pagawo loyesa, zida 22 zimapereka magwiridwe antchito (koma kuyesako sikunakwaniritsidwebe), 20 ali pachiwonetsero, ndipo ntchito pazida 44 sizinachitike. koma anayamba. Zina mwazinthu zomwe zimagwiritsidwa ntchito: awk, basename, bc, cp, cut, chown, deti, diff, fayilo, pezani, grep, ls, nice, ps, sort, zingwe, mchira, tr, tty, wc, uniq. Pakati pazinthu zothandizira, ntchito yomwe sinayambe: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .

Zosintha pakumasulidwa kwatsopano zikuphatikizanso kuwonjezera kukhazikitsidwa kwa awk, m4, ps, realpath, join, time, fuser ndi gencat utilities, komanso kuthandizira koyambirira kogwira ntchito m'malo motengera laibulale ya musl C komanso kuperekedwa kwa ftw. laibulale yamtundu wotetezedwa ndi boma traversal race.

Kuphatikiza apo, titha kuzindikira chilengezo cha pulojekiti ya rav1d, yomwe ikupanga makina osindikizira ochita bwino kwambiri amtundu wa AV1 wamakanema, olembedwa m'chinenero cha Rust. Chitukuko chimachitika ndikuyika khodi ya decoder laibulale ya dav1d, yomwe imadziwika ndi magwiridwe antchito apamwamba, kupita ku Rust. Doko lokonzekera limagwirizana kwathunthu ndi dav1d library API. Kusankha kuyika laibulale yomwe ilipo m'malo molemba yathuyathu ikufotokozedwa ndi chikhumbo chofuna kugwiritsa ntchito decoder yomwe yatsimikiziridwa kale komanso yoyesedwa ngati maziko kuti mupewe zovuta zofananira ndikuganizira zovuta zonse zogwirira ntchito ndi mtundu wa AV1.

M'mawonekedwe ake apano, kukhazikitsidwa kokonzekera kwa rav1d ndi 6% kumbuyo kwa dav1d mukuchita, koma m'tsogolomu, mutatha kukonza kachidindoyo, ikukonzekera kukwaniritsa ntchitoyo. Kuti mukwaniritse magwiridwe antchito apamwamba, njira idagwiritsidwa ntchito momwe ntchito zoyambira zoyambira zakale zimakhazikitsidwa pophatikizana ngati midadada yopanda chitetezo (code yochokera ku dav1d imagwiritsidwa ntchito), zomwe zimalandilidwa pambuyo poyang'ana ndi mtsinje. ntchito zolembedwa mu Rust (zochitikira m'mbuyomu pozindikira zofooka m'ma decoder a kanema zikuwonetsa kuti zovuta zimayamba makamaka pamasinthidwe apamwamba kwambiri, m'malo mogwiritsa ntchito deta yotsika).

Source: opennet.ru

Kuwonjezera ndemanga