جاوا اسکرپٹ میں میموری لیک ہونے کا پتہ لگانے کے لیے فیس بک اوپن سورس فریم ورک

فیس بک (روسی فیڈریشن میں ممنوع) نے میم لیب ٹول کٹ کا سورس کوڈ کھول دیا ہے، جو متحرک طور پر مختص میموری (ہیپ) کی حالت کے ٹکڑوں کا تجزیہ کرنے، میموری کے انتظام کو بہتر بنانے کے لیے حکمت عملیوں کا تعین کرنے، اور کوڈ پر عمل کرتے وقت ہونے والے میموری لیک کی نشاندہی کرنے کے لیے ڈیزائن کیا گیا ہے۔ جاوا اسکرپٹ۔ کوڈ MIT لائسنس کے تحت کھلا ہے۔

ویب سائٹس اور ویب ایپلیکیشنز کے ساتھ کام کرتے وقت زیادہ میموری کی کھپت کی وجوہات کا تجزیہ کرنے کے لیے فریم ورک بنایا گیا تھا۔ مثال کے طور پر، فیس بک ڈاٹ کام ویب سائٹ کا نیا ورژن استعمال کرتے وقت میموری کی کھپت کا تجزیہ کرنے کے لیے memlab کا استعمال کیا گیا، جس نے ان لیکس کی نشاندہی کرنا ممکن بنایا جس کی وجہ سے مفت میموری ختم ہونے کی وجہ سے کلائنٹ کی طرف براؤزر کریش ہو گیا۔

جاوا اسکرپٹ کوڈ پر عمل کرتے وقت میموری کے لیک ہونے کی وجوہات پوشیدہ آبجیکٹ کے حوالہ جات ہوسکتی ہیں جو کوڑا جمع کرنے والے کو آبجیکٹ کے زیر قبضہ میموری کو آزاد کرنے، اقدار کی غیر دانشمندانہ کیشنگ، یا پرانی فہرست عناصر کو بے دخل کیے بغیر لامحدود سکرولنگ کے نفاذ سے روکتی ہیں۔ مثال کے طور پر، کروم میں نیچے دیے گئے کوڈ میں، "obj" نامی آبجیکٹ کی وجہ سے میموری کا اخراج ہوتا ہے، اس حقیقت کے باوجود کہ اسے null کی قدر تفویض کی گئی ہے، کیونکہ کروم ویب کنسول میں بعد میں معائنے کے لیے آؤٹ پٹ آبجیکٹ کے اندرونی حوالوں کو اسٹور کرتا ہے۔ . var obj = {}; console.log(obj)؛ obj = null؛

memlab کی اہم خصوصیات:

  • براؤزر میں میموری لیک ہونے کا پتہ لگانا۔ Memlab آپ کو خود بخود متحرک میموری اسٹیٹ اسنیپ شاٹس کا موازنہ کرنے، میموری لیکس کا پتہ لگانے اور نتائج کو جمع کرنے کی اجازت دیتا ہے۔
  • ہیپ ٹریشن کے لیے ایک آبجیکٹ اورینٹڈ API، جو آپ کو اپنے لیک کا پتہ لگانے والے الگورتھم کو لاگو کرنے اور ہیپ اسٹیٹ اسنیپ شاٹس کا تجزیہ کرنے کے لیے سسٹمز کو نافذ کرنے کی اجازت دیتا ہے۔ ہیپ تجزیہ Chromium انجن پر مبنی براؤزرز کے ساتھ ساتھ Node.js، Electron اور Hermes پلیٹ فارمز کے لیے معاون ہے۔
  • میموری کے استعمال کو بہتر بنانے کے مواقع تلاش کرنے کے لیے کمانڈ لائن انٹرفیس اور API۔
  • Node.js کے لیے ایک اسسٹ سسٹم جو آپ کو یونٹ ٹیسٹ بنانے اور Node.js کی بنیاد پر پروگرام چلانے کی اجازت دیتا ہے تاکہ آپ کی اپنی حالت کے سلائسس بنائیں، اپنی میموری کو جانچیں، یا توسیعی اسسٹ چیک لکھیں۔

ماخذ: opennet.ru

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