POSIX యుటిలిటీల సమితి మరియు రస్ట్‌లో వ్రాయబడిన AV1 డీకోడర్

POSIX స్టాండర్డ్‌లో పేర్కొన్న కమాండ్ లైన్ యుటిలిటీల సేకరణను రస్ట్ భాషలో అభివృద్ధి చేయడం మరియు దాని అవసరాలను తీర్చడం (cp, mv, awk, make, vi, find,) లక్ష్యంతో posixutils-rs 0.2.1 ప్రాజెక్ట్ విడుదల ప్రచురించబడింది. క్రమబద్ధీకరించు, wc, xargs, sh, m4, sed, మొదలైనవి). అభివృద్ధి సమయంలో, సాధ్యమైనప్పుడల్లా, ఇప్పటికే ఉన్న క్రేట్ ప్యాకేజీలు ఉపయోగించబడతాయి. Posixutils-rs కోడ్ MIT లైసెన్స్ క్రింద పంపిణీ చేయబడింది.

ప్రాజెక్ట్ ప్రాథమికంగా POSIX.2024 స్పెసిఫికేషన్ యొక్క అవసరాలకు అనుగుణంగా సాధించడంపై దృష్టి సారించింది మరియు GNU యుటిలిటీస్‌తో అనుకూలతను అందించడానికి ప్లాన్ చేయలేదు, దీని కార్యాచరణ రచయితలచే అసమంజసంగా ఉబ్బినట్లుగా గుర్తించబడింది. అయితే, posixutils-rs ఇప్పటికే ఉన్న స్క్రిప్ట్‌లలో ఉన్న అత్యంత ప్రజాదరణ పొందిన అధునాతన GNU యుటిలిటీ ఎంపికలను అమలు చేయాలని యోచిస్తోంది.

రస్ట్‌లో GNU Coreutils ఇంప్లిమెంటేషన్‌ను అభివృద్ధి చేసే uutils ప్రాజెక్ట్ నుండి తేడాలు, ఇతర విషయాలతోపాటు, vi, awk, bc, m4, cron మరియు c99 కంపైలర్ వంటి POSIX సిస్టమ్ భాగాలను సృష్టించడంతోపాటు, విస్తృతమైన వినియోగాలు ఉన్నాయి. అలాగే మినిమలిస్టిక్ విధానం , ఇది POSIX స్పెసిఫికేషన్‌లో నిర్వచించబడిన లేదా లేకుండా చేయడం సమస్యాత్మకమైన కనీస అవసరమైన ఎంపికల సెట్‌ను మాత్రమే అందించడాన్ని సూచిస్తుంది. posixutils-rs సూట్‌లోని ప్రోగ్రామ్‌లు ప్రారంభంలో ఇతర ప్రాజెక్ట్‌లలో ఉపయోగించగల స్వీయ-నియంత్రణ కోడ్‌గా అందించబడతాయి.

ప్రస్తుతం, ప్రాజెక్ట్ ద్వారా అభివృద్ధి చేయబడిన 55 యుటిలిటీలు POSIXకి అనుగుణంగా ఉన్నాయి మరియు పరీక్ష కవరేజ్ దశలో ఉన్నాయి, 22 యుటిలిటీలు అవసరమైన కార్యాచరణను అందిస్తాయి (కానీ పరీక్ష కవరేజ్ ఇంకా అమలు చేయబడలేదు), 20 డ్రాఫ్ట్ దశలో ఉన్నాయి మరియు 44 యుటిలిటీలపై పని చేయలేదు ఇంకా మొదలైంది. అమలు చేయబడిన కార్యాచరణతో కూడిన యుటిలిటీలలో: awk, బేస్‌నేమ్, bc, cp, కట్, చౌన్, డేట్, డిఫ్, ఫైల్, ఫైండ్, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq. యుటిలిటీలలో, పని ప్రారంభించని పని: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, లొకేల్, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .

కొత్త విడుదలలో మార్పులు awk, m4, ps, రియల్‌పాత్, జాయిన్, టైమ్, ఫ్యూజర్ మరియు జెన్‌క్యాట్ యుటిలిటీల జోడింపులు, అలాగే musl C లైబ్రరీ మరియు ftw యొక్క సదుపాయం ఆధారంగా పరిసరాలలో పని చేయడానికి ప్రారంభ మద్దతు ఉన్నాయి. రాష్ట్ర-రక్షిత డైరెక్టరీ ట్రీ ట్రావర్సల్ రేస్ కోసం లైబ్రరీ.

అదనంగా, మేము రస్ట్ భాషలో వ్రాసిన AV1 వీడియో కోడింగ్ ఫార్మాట్ కోసం అధిక-పనితీరు గల డీకోడర్‌ను అభివృద్ధి చేస్తున్న rav1d ప్రాజెక్ట్ యొక్క ప్రకటనను గమనించవచ్చు. అధిక పనితీరుతో కూడిన dav1d లైబ్రరీ యొక్క డీకోడర్ కోడ్‌ను రస్ట్‌కు పోర్ట్ చేయడం ద్వారా అభివృద్ధి జరుగుతుంది. సిద్ధం చేసిన పోర్ట్ dav1d లైబ్రరీ APIకి పూర్తిగా అనుకూలంగా ఉంటుంది. మా స్వంత సంస్కరణను వ్రాయడానికి బదులుగా ఇప్పటికే ఉన్న లైబ్రరీని పోర్ట్ చేసే ఎంపిక, సాధ్యమయ్యే అనుకూలత సమస్యలను నివారించడానికి మరియు AV1 ఫార్మాట్‌తో పని చేసే అన్ని చిక్కులను పరిగణనలోకి తీసుకోవడానికి ఇప్పటికే నిరూపితమైన మరియు పరీక్షించబడిన డీకోడర్‌ను ప్రాతిపదికగా ఉపయోగించాలనే కోరిక ద్వారా వివరించబడింది.

దాని ప్రస్తుత రూపంలో, rav1d యొక్క సన్నద్ధమైన అమలు పనితీరులో dav6d కంటే 1% వెనుకబడి ఉంది, అయితే భవిష్యత్తులో, కోడ్‌ను ఆప్టిమైజ్ చేసిన తర్వాత, పనితీరులో సమానత్వాన్ని సాధించడానికి ప్రణాళిక చేయబడింది. అధిక పనితీరును సాధించడానికి, ఒక విధానం ఉపయోగించబడింది, దీనిలో ఆదిమ విలువలను డీకోడింగ్ చేయడానికి ప్రాథమిక విధులు అసెంబ్లర్‌లో అసురక్షిత బ్లాక్‌ల రూపంలో అమలు చేయబడతాయి (dav1d నుండి అసెంబ్లీ కోడ్ ఉపయోగించబడుతుంది), స్ట్రీమ్ పార్సింగ్‌తో తనిఖీ చేసిన తర్వాత స్వీకరించబడిన డేటా. రస్ట్‌లో వ్రాయబడిన విధులు (వీడియో డీకోడర్‌లలోని దుర్బలత్వాలను గుర్తించడంలో గత అనుభవం తక్కువ-స్థాయి డేటా ఆపరేషన్‌లలో కాకుండా, అధిక-స్థాయి ఫార్మాట్ పార్సింగ్ కోడ్‌లో ప్రధానంగా సమస్యలు ఉత్పన్నమవుతాయని చూపిస్తుంది).

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి