GNU Coreutils میں اپ ڈیٹ، Rust میں دوبارہ لکھا گیا۔

uutils coreutils 0.0.12 ٹول کٹ کا اجراء پیش کیا گیا ہے، جس کے اندر GNU Coreutils پیکیج کا ایک ینالاگ، جو زنگ زبان میں دوبارہ لکھا گیا ہے، تیار کیا جا رہا ہے۔ Coreutils سو سے زیادہ افادیت کے ساتھ آتا ہے، بشمول sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln اور ls۔ اسی وقت، uutils findutils 0.3.0 پیکیج کو GNU Findutils سیٹ (find, locate, updateb اور xargs) سے Rust of the Utilities میں نفاذ کے ساتھ جاری کیا گیا تھا۔

پروجیکٹ بنانے اور زنگ کی زبان استعمال کرنے کی وجہ کوریوٹیلز اور فائنڈوٹلز کے کراس پلیٹ فارم متبادل نفاذ کی خواہش ہے، جو ونڈوز، ریڈوکس اور فوشیا پلیٹ فارمز پر چلنے کے قابل ہو، دوسروں کے درمیان۔ uutils کے درمیان ایک اور اہم فرق یہ ہے کہ یہ GPL کاپی لیفٹ لائسنس کے بجائے MIT پرمیسیو لائسنس کے تحت تقسیم کیا جاتا ہے۔

فی الحال، 88 یوٹیلیٹیز کے نفاذ کو مکمل طور پر GNU Coreutils کے ساتھ برابری پر لایا گیا ہے۔ انفرادی خامیوں کو 18 یوٹیلیٹیز میں نوٹ کیا گیا ہے، بشمول cp, dd, date, df, install, ls, more, sort, split, tail and test۔ صرف stty افادیت ناقابل عمل ہے۔ GNU Coreutils پروجیکٹ سے ٹیسٹ سویٹ پاس کرتے وقت، 214 ٹیسٹ کامیابی کے ساتھ کیے جاتے ہیں، لیکن Rust analogue ابھی تک 313 ٹیسٹ پاس نہیں کرتا ہے۔ ایک ہی وقت میں، پروجیکٹ کی ترقی کی شدت میں نمایاں اضافہ ہوا ہے - ایک سال پہلے 400-470 ڈویلپرز سے 20-50 کی بجائے 30-60 ڈویلپرز سے 3-8 پیچ ہر ماہ شامل کیے جاتے ہیں۔

GNU Coreutils میں اپ ڈیٹ، Rust میں دوبارہ لکھا گیا۔

تازہ ترین کامیابیوں میں، کارکردگی کی اصلاح کو نوٹ کیا گیا ہے - موجودہ حالت میں، بہت سے یوٹیلٹیز، جیسے ہیڈ اور کٹ، GNU Coreutils کے اختیارات سے کارکردگی میں نمایاں طور پر بہتر ہیں۔ ٹیسٹ سویٹ کوریج کو تمام کوڈ کے 55% سے 75% تک بڑھا دیا گیا ہے (80% کافی ہدف ہے)۔ دیکھ بھال کو آسان بنانے کے لیے کوڈ کو ری فیکٹر کیا گیا ہے، مثال کے طور پر، مختلف پروگراموں میں ایرر ہینڈلنگ کو یکجا کر دیا گیا ہے، اور رسائی کے حقوق کے ساتھ کام کرنے کے کوڈ کو chgrp اور chown میں ملا دیا گیا ہے۔ GNU Coreutils کے ساتھ مطابقت کو بہتر بنانے کے لیے متعدد تبدیلیاں شامل کی گئی ہیں۔

مستقبل کے منصوبوں میں stty یوٹیلیٹی کا نفاذ، GNU Coreutils کے ساتھ مطابقت کو بہتر بنانے کے لیے کام جاری رکھنا، قابل عمل فائلوں کے سائز کو کم کرنے کے لیے آپٹیمائزیشنز شامل کرنا، نیز Debian اور Ubuntu میں GNU Coreutils اور GNU کے بجائے uutils یوٹیلیٹیز کے استعمال پر مسلسل تجربات شامل ہیں۔ Findutils (uutils کے اہم ڈویلپرز میں سے ایک نے پہلے کلینگ کمپائلر کا استعمال کرتے ہوئے Debian GNU/Linux بنانے کے منصوبے پر کام کیا تھا)۔ مزید برآں، macOS کے لیے uutils-coreutils پیکیج کی تیاری، NixOS میں GNU Coreutils کو uutils coreutils سے تبدیل کرنے کے تجربات، اپرٹیس ڈسٹری بیوشن میں uutils coreutils کو بطور ڈیفالٹ استعمال کرنے کا ارادہ، اور Redox OS کے لیے سیٹ کردہ uutils کی موافقت کو نوٹ کیا گیا ہے۔

ماخذ: opennet.ru

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