Útgáfa posixutils-rs 0.2.1 verkefnisins hefur verið gefin út, sem miðar að því að þróa á Rust tungumálinu safn skipanalínutækja sem nefnd eru í POSIX staðlinum og uppfylla kröfur hans (cp, mv, awk, make, vi, find, sort, wc, xargs, sh, m4, sed, osfrv.). Við þróun, þegar mögulegt er, eru núverandi rimlakakkar notaðir. Posixutils-rs kóðanum er dreift undir MIT leyfinu.
Verkefnið beinist fyrst og fremst að því að uppfylla kröfur POSIX.2024 forskriftarinnar og ætlar ekki að veita eindrægni við GNU tólum, sem höfundar telja að virkni þeirra sé óeðlilega uppblásin. Hins vegar ætlar posixutils-rs að innleiða vinsælustu háþróaða GNU tólavalkostina sem finnast í núverandi forskriftum.
Mismunur frá uutils verkefninu, sem þróar GNU Coreutils útfærsluna í Rust, felur í sér víðtækara umfang tóla, þar á meðal meðal annars gerð POSIX kerfishluta eins og vi, awk, bc, m4, cron og c99 þýðanda, sem og lægstur nálgun , sem felur í sér að veita aðeins það lágmark sem krafist er af valkostum sem eru skilgreindir í POSIX forskriftinni eða sem erfitt er að vera án. Forritin í posixutils-rs svítunni eru upphaflega afhent sem sjálfstætt kóða sem hægt er að nota í öðrum verkefnum.
Eins og er, eru 55 veitur þróaðar af verkefninu í samræmi við POSIX og eru á prófunarstigi, 22 veitur veita nauðsynlega virkni (en prófunarumfjöllun hefur ekki enn verið innleidd), 20 eru á drögum og vinna við 44 veitur hefur ekki enn hafin. Meðal tóla með útfærðri virkni: awk, basename, bc, cp, cut, chown, date, diff, file, find, grep, ls, nice, ps, sort, strengir, tail, tr, tty, wc, uniq. Meðal tóla, vinna við sem er ekki hafin: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .
Breytingar á nýju útgáfunni fela í sér að bæta við útfærslum á awk, m4, ps, realpath, join, time, fuser og gencat tólum, auk upphafsstuðnings við að vinna í umhverfi sem byggir á musl C bókasafninu og útvegun ftw bókasafn fyrir ríkisvarið skráartréshlaup.
Að auki getum við tekið eftir tilkynningunni um rav1d verkefnið, sem er að þróa afkastamikinn afkóðara fyrir AV1 myndbandskóðunarsniðið, skrifað á Rust tungumálinu. Þróun fer fram með því að flytja afkóðakóða dav1d bókasafnsins, sem einkennist af mikilli afköstum, yfir á Rust. Undirbúna gáttin er fullkomlega samhæf við dav1d bókasafn API. Valið að flytja núverandi bókasafn í stað þess að skrifa eigin útgáfu okkar skýrist af lönguninni til að nota þegar sannaðan og prófaðan afkóðara sem grunn til að forðast hugsanleg samhæfnisvandamál og taka tillit til allra ranghala við að vinna með AV1 sniðinu.
Í núverandi mynd er undirbúin útfærsla á rav1d 6% á eftir dav1d í frammistöðu, en í framtíðinni, eftir fínstillingu kóðans, er áætlað að ná jöfnuði í frammistöðu. Til að ná háum afköstum var notuð nálgun þar sem grunnaðgerðir til að afkóða frumgildi eru útfærðar í assembler í formi óöruggra blokka (samsetningarkóði frá dav1d er notaður), gögnin sem berast í eftir að hafa athugað með straumþáttun aðgerðir skrifaðar í Rust (fyrri reynsla af því að bera kennsl á veikleika í myndbandsafkóðarum sýnir að vandamálin koma aðallega upp í flokkunarkóða á háu sniði, frekar en í gagnaaðgerðum á lágu stigi).
Heimild: opennet.ru
