زنگ رات کی تعمیرات نے تالیف کو متوازی بنانے کی صلاحیت کو بڑھا دیا ہے۔

رسٹ کمپائلر کا اگلا حصہ، جو پارسنگ، ٹائپ چیکنگ، اور قرض لینے کے تجزیہ جیسے کام انجام دیتا ہے، متوازی عمل کو سپورٹ کرتا ہے، جو تالیف کے وقت کو نمایاں طور پر کم کر سکتا ہے۔ پیریللائزیشن پہلے سے ہی زنگ کی نائٹ بلڈز میں دستیاب ہے اور "-Z تھریڈز = 8" آپشن کا استعمال کرتے ہوئے فعال کیا گیا ہے۔ زیر غور موقع کو 2024 میں مستحکم برانچ میں شامل کرنے کا منصوبہ ہے۔

زنگ میں تالیف کے اوقات کو کم کرنے کا کام کئی سالوں سے جاری ہے۔ 10 کے پہلے 2023 مہینوں میں، تالیف کے اوقات میں اوسطاً 13 فیصد کمی کی گئی، میموری کی چوٹی کی کھپت میں 15 فیصد کمی کی گئی، اور جنریٹڈ فائلوں کے سائز میں 7 فیصد کمی ہوئی۔ اس مرحلے پر، سرعت خود مرتب کرنے والے کی اصلاح کے ذریعے حاصل کی گئی۔ اس کے بعد، ڈویلپرز کمپائل ٹائم پر کام کو متوازی کرکے اسپیڈ اپ پر کام کرنے لگے۔

اب تک، زنگ میں متوازی عمل زیادہ تر عمل کی سطح پر کیا گیا ہے؛ مثال کے طور پر، کارگو پیکج مینیجر ایک ہی وقت میں متعدد پیکجوں کو مرتب کرنے کے لیے متعدد rustc پراسیسز شروع کر سکتا ہے۔ بیک اینڈ کے سائیڈ پر بھی متوازی سپورٹ موجود ہے، جو کوڈ جنریشن سے متعلق آپریشنز کرتا ہے - Rust backend حصوں میں کوڈ تیار کر سکتا ہے، جسے LLVM پھر متوازی طور پر پروسیس کر سکتا ہے۔ فرنٹ اینڈ، اب تک، واحد تھریڈڈ موڈ میں صرف سورس کوڈ پر کارروائی کر سکتا ہے۔

ہم آہنگی کو سپورٹ کرنے کے لیے، فرنٹ اینڈ کو ریون لائبریری کا استعمال کرنے کے لیے تبدیل کر دیا گیا ہے اور نمایاں طور پر دوبارہ ڈیزائن کیا گیا ہے، مثال کے طور پر، اس کے بہت سے پرزے اب mutexes اور پڑھنے/لکھنے کے تالے کا استعمال کرتے ہوئے مطابقت پذیر ہیں، اور کوڈ ایٹم اقسام کا استعمال کرتا ہے۔ کارکردگی کی جانچ میں، نیا متوازی عمل درآمد سنگل تھریڈڈ موڈ (-Z تھریڈز=2) میں چلنے پر 1% تک سستی مرتب کر سکتا ہے، لیکن جب ایک سے زیادہ تھریڈز ہوتے ہیں، رفتار میں نمایاں اضافہ ہوتا ہے۔ مثال کے طور پر، 8 تھریڈز (-Z تھریڈز=8) انسٹال کرتے وقت، کچھ حالات میں تالیف کا وقت 50% تک کم کیا جا سکتا ہے۔

اس صورت میں، نتیجہ کافی حد تک ماحولیات کی ترتیبات اور مرتب کردہ کوڈ پر منحصر ہوتا ہے - بہت چھوٹے پروگراموں کے لیے جو پہلے سے ہی تیزی سے مرتب کرتے ہیں، ملٹی تھریڈڈ موڈ میں تالیف سست ہو سکتی ہے۔ اس کے علاوہ، ملٹی تھریڈڈ موڈ میں میموری کی کھپت نمایاں طور پر بڑھ سکتی ہے؛ مثال کے طور پر، ٹیسٹوں میں، میموری کی کھپت میں 35% تک اضافہ دیکھا گیا۔

ماخذ: opennet.ru

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