POSIX افادیت کا ایک سیٹ اور ایک AV1 ڈیکوڈر جو زنگ میں لکھا ہوا ہے۔

posixutils-rs 0.2.1 پروجیکٹ کا اجراء شائع کیا گیا ہے، جس کا مقصد مورچا زبان میں POSIX معیار میں بیان کردہ کمانڈ لائن یوٹیلیٹیز کا مجموعہ تیار کرنا اور اس کی ضروریات کو پورا کرنا ہے (cp, mv, awk, make, vi, find, ترتیب دیں، wc، xargs، sh، m4، sed، وغیرہ)۔ ترقی کے دوران، جب بھی ممکن ہو، موجودہ کریٹ پیکیج استعمال کیے جاتے ہیں۔ posixutils-rs کوڈ MIT لائسنس کے تحت تقسیم کیا جاتا ہے۔

پروجیکٹ بنیادی طور پر POSIX.2024 تفصیلات کے تقاضوں کی تعمیل پر توجہ مرکوز کرتا ہے اور GNU افادیت کے ساتھ مطابقت فراہم کرنے کا منصوبہ نہیں رکھتا ہے، جس کی فعالیت کو مصنفین نے غیر معقول طور پر پھولا ہوا سمجھا ہے۔ تاہم، posixutils-rs موجودہ اسکرپٹس میں پائے جانے والے مقبول ترین GNU یوٹیلیٹی آپشنز کو نافذ کرنے کا ارادہ رکھتا ہے۔

Uutils پروجیکٹ سے اختلافات، جو زنگ میں GNU Coreutils کے نفاذ کو تیار کرتا ہے، میں افادیت کا ایک وسیع دائرہ شامل ہے، بشمول، دیگر چیزوں کے ساتھ، اس طرح کے POSIX سسٹم کے اجزاء کی تخلیق جیسے vi، awk، bc، m4، cron اور c99 کمپائلر، اس کے ساتھ ساتھ ایک minimalistic نقطہ نظر، جس کا مطلب صرف POSIX تفصیلات میں بیان کردہ اختیارات کا کم از کم مطلوبہ سیٹ فراہم کرنا ہے یا جن کے بغیر کرنا مشکل ہے۔ posixutils-rs سوٹ میں پروگرام ابتدائی طور پر خود ساختہ کوڈ کے طور پر فراہم کیے جاتے ہیں جو دوسرے منصوبوں میں استعمال کیے جا سکتے ہیں۔

فی الحال، پروجیکٹ کے ذریعے تیار کردہ 55 یوٹیلیٹیز POSIX کی تعمیل کرتی ہیں اور ٹیسٹ کوریج کے مرحلے پر ہیں، 22 یوٹیلیٹیز ضروری فعالیت فراہم کرتی ہیں (لیکن ٹیسٹ کوریج کو ابھی تک نافذ نہیں کیا گیا ہے)، 20 ڈرافٹ مرحلے پر ہیں، اور 44 یوٹیلٹیز پر کام نہیں کیا گیا ہے۔ ابھی تک شروع ہوا. نافذ کردہ فعالیت کے ساتھ افادیت میں: awk، basename، bc، cp، cut، chown، date، diff، file, find, grep, ls, nice, ps, sort, strings, tail, tr, tty, wc, uniq۔ افادیت میں سے، جن پر کام شروع نہیں ہوا ہے: crontab, c17, cflow, ctags, gettext, ed, ex, iconv, lex, locale, mailx, make, patch, pax, sed, sh, sccs, yacc, uucp, vi .

نئی ریلیز میں تبدیلیوں میں awk, m4, ps, realpath, join, time, fuser اور gencat یوٹیلیٹیز کے نفاذ کے ساتھ ساتھ musl C لائبریری کی بنیاد پر ماحول میں کام کرنے کے لیے ابتدائی مدد اور ftw کی فراہمی شامل ہے۔ لائبریری برائے ریاست سے محفوظ ڈائریکٹری ٹری ٹراورسل ریس۔

مزید برآں، ہم rav1d پروجیکٹ کے اعلان کو نوٹ کر سکتے ہیں، جو کہ AV1 ویڈیو کوڈنگ فارمیٹ کے لیے ایک اعلیٰ کارکردگی کا ڈیکوڈر تیار کر رہا ہے، جو رسٹ زبان میں لکھا گیا ہے۔ ڈیوی 1 ڈی لائبریری کے ڈیکوڈر کوڈ کو پورٹ کرکے ترقی کی جاتی ہے، جس کی خصوصیت اعلیٰ کارکردگی سے ہوتی ہے، زنگ پر۔ تیار کردہ پورٹ dav1d لائبریری API کے ساتھ مکمل طور پر ہم آہنگ ہے۔ اپنے ورژن کو لکھنے کے بجائے موجودہ لائبریری کو پورٹ کرنے کے انتخاب کی وضاحت اس خواہش سے کی گئی ہے کہ پہلے سے ثابت شدہ اور ٹیسٹ شدہ ڈیکوڈر کو بنیاد کے طور پر استعمال کیا جائے تاکہ مطابقت کے ممکنہ مسائل سے بچا جا سکے اور AV1 فارمیٹ کے ساتھ کام کرنے کی تمام پیچیدگیوں کو مدنظر رکھا جائے۔

اپنی موجودہ شکل میں، rav1d کا تیار کردہ نفاذ کارکردگی میں dav6d سے 1% پیچھے ہے، لیکن مستقبل میں، کوڈ کو بہتر بنانے کے بعد، کارکردگی میں برابری حاصل کرنے کا منصوبہ بنایا گیا ہے۔ اعلیٰ کارکردگی کے حصول کے لیے، ایک نقطہ نظر استعمال کیا گیا جس میں قدیم اقدار کو ضابطہ کشائی کرنے کے لیے بنیادی کاموں کو غیر محفوظ بلاکس کی شکل میں اسمبلر میں لاگو کیا جاتا ہے (dav1d سے اسمبلی کوڈ استعمال کیا جاتا ہے)، وہ ڈیٹا جس میں اسٹریم پارسنگ کے ساتھ چیک کرنے کے بعد موصول ہوتا ہے۔ Rust میں لکھے گئے فنکشنز (ویڈیو ڈیکوڈرز میں کمزوریوں کی نشاندہی کرنے کا ماضی کا تجربہ یہ ظاہر کرتا ہے کہ مسائل بنیادی طور پر نچلے درجے کے ڈیٹا آپریشنز کے بجائے ہائی لیول فارمیٹ پارسنگ کوڈ میں پیدا ہوتے ہیں)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں