फेसबुकने मेमलॅबचा सोर्स कोड जारी केला आहे

फेसबुक मेम्बलॅब

MemLab हे JavaScript मेमरी लीक शोधण्यासाठी एक फ्रेमवर्क आहे

अलीकडेच बातमीने ती फोडली फेसबुकने सोर्स कोड जारी करण्याचा निर्णय घेतला आहे टूल किटचे memlab, जे आहे मेमरी स्थितीच्या भागांचे विश्लेषण करण्यासाठी डिझाइन केलेले डायनॅमिकली ऍलोकेटेड (ढीग), मेमरीसह कार्य ऑप्टिमाइझ करण्यासाठी एक धोरण निश्चित करा आणि मेमरी लीक शोधून काढा JavaScript कोड कार्यान्वित करत आहे. 

फ्रेम उच्च मेमरी वापराच्या कारणांचे विश्लेषण करण्यासाठी तयार केले गेले वेबसाइट्स आणि वेब अनुप्रयोगांसह काम करताना. उदाहरणार्थ, Facebook.com साइटची नवीन आवृत्ती वापरताना मेमलॅबचा वापर मेमरी वापराचे विश्लेषण करण्यासाठी केला गेला, ज्याने लीक उघड केले ज्यामुळे फ्री मेमरी संपल्यामुळे क्लायंट-साइड ब्राउझर क्रॅश झाला.

जे लोक आमचे वेब ऍप्लिकेशन वापरतात त्यांना बर्‍याचदा कार्यप्रदर्शन समस्या आणि कार्यात्मक निराकरणे लगेच लक्षात येतील. स्मरणशक्ती कमी होणे ही एक वेगळी गोष्ट आहे. हे लगेच लक्षात येण्यासारखे नाही, कारण ते एका वेळी एक भाग मेमरी वापरते, संपूर्ण वेब सत्रावर परिणाम करते आणि त्यानंतरच्या परस्परसंवादांना हळू आणि कमी प्रतिसाद देते.

आमच्या विकासकांना हे संबोधित करण्यात मदत करण्यासाठी, आम्ही मेमलॅब तयार केले, एक JavaScript मेमरी चाचणी फ्रेमवर्क जे लीक डिटेक्शन स्वयंचलित करते आणि मेमरी लीक शोधणे सोपे करते. आम्ही मेमरा वर मेम लॅब चा वापर यशस्वीरित्या अस्थाई मेमरी वाढ करण्यासाठी आणि आमच्या उत्पादनांमध्ये आणि पायाभूत सुविधांमध्ये मेमरी लीक आणि मेमरी ऑप्टिमायझेशन संधी ओळखण्यासाठी केला आहे.

उच्च मेमरी वापराचा पृष्ठ लोड आणि परस्परसंवाद कार्यक्षमतेवर सांख्यिकीयदृष्ट्या महत्त्वपूर्ण आणि नकारात्मक प्रभाव पडतो (पृष्ठ लोड करण्यासाठी किंवा परस्परसंवाद करण्यासाठी किती वेळ लागतो)
वापरकर्ता प्रतिबद्धता मेट्रिक्स (सक्रिय वापरकर्ते, साइटवर घालवलेला वेळ, केलेल्या क्रियाकलापांची संख्या)

मेमरी गळतीची कारणे JavaScript कोड कार्यान्वित करताना लपलेल्या ऑब्जेक्ट संदर्भांची उपस्थिती असू शकते, म्हणून कचरा गोळा करणारा मेमरी मुक्त करू शकत नाही ऑब्जेक्टद्वारे व्यापलेले, मूल्यांचे अवास्तव कॅशिंग किंवा जुन्या सूची आयटम बाहेर न काढता अनंत स्क्रोल लागू करणे.

उदाहरणार्थ, खालील Chrome कोडमध्ये, "obj" ऑब्जेक्टमुळे मेमरी लीक होते, जरी ते शून्य वर सेट केले असले तरी, Chrome प्रस्तुत केलेल्या ऑब्जेक्ट्सचे अंतर्गत संदर्भ वेब कन्सोलमध्ये नंतर तपासले जाण्यासाठी ठेवते.

मेमलॅबचे मूलभूत ऑपरेशन, खालीलप्रमाणे आहे:

  1. हे ब्राउझरमध्ये प्रथम मेमरी लीक शोधते, मेमलॅब तुम्हाला डायनॅमिक मेमरी स्नॅपशॉट्सची आपोआप तुलना करण्यास, मेमरी लीक शोधण्याची आणि एकूण परिणामांची अनुमती देते.
  2. एक ऑब्जेक्ट-ओरिएंटेड हीप ट्रॅव्हर्सल API जे तुम्हाला तुमचे स्वतःचे लीक डिटेक्शन अल्गोरिदम आणि हीप स्नॅपशॉट पार्स करण्यासाठी सिस्टम लागू करण्यास अनुमती देते. Chromium इंजिनवर आधारित ब्राउझरसाठी तसेच Node.js, Electron आणि Hermes प्लॅटफॉर्मसाठी हीप पार्सिंग समर्थित आहे.
  3. कमांड लाइन इंटरफेस आणि API मेमरी वापर ऑप्टिमाइझ करण्यासाठी संधी शोधण्यासाठी.
  4. Node.js साठी एक प्रतिपादन प्रणाली जी तुम्हाला युनिट चाचण्या तयार करण्यास आणि तुमची स्वतःची स्थिती विभाजित करण्यासाठी Node.js-आधारित प्रोग्राम चालवण्यास, तुमच्या स्मरणशक्तीची चाचणी घेण्यासाठी किंवा प्रगत विधाने लिहिण्याची परवानगी देते.
  5. रिटेन्शन ट्रेस ग्रुपिंग, मेमलॅब सर्व रिटेन्शन ट्रेस एकत्रितपणे एकत्रित करते आणि फिल्टर केलेल्या ऑब्जेक्ट्सच्या प्रत्येक गटासाठी एक ट्रेस प्रदर्शित करते जे समान धारणा ट्रेस सामायिक करतात. ट्रेसमध्ये डॉमिनेटिंग नोड्स आणि राखून ठेवलेल्या आकारांसारखी डीबगिंग माहिती देखील समाविष्ट आहे.
  6. लीकचा अहवाल देऊन, मेमरी रिग्रेशन्सबद्दल सतत सिग्नल मिळवण्यासाठी MemLab दिवसभर नियमित अंतराने चालवता येते. अंतर्गत डॅशबोर्डमध्ये कोणतीही नवीन प्रतिगमने जोडली जातात, जिथे सर्व शोधलेल्या मेमरी लीकचे संग्रहित प्रतिधारण ट्रेस एकत्रित केले जातात आणि वर्गीकृत केले जातात. डेव्हलपर नंतर प्रत्येक मेमरी लीकसाठी होल्ड ट्रेसमध्ये ऑब्जेक्ट गुणधर्म क्लिक आणि पाहू शकतात.

शेवटी तुम्हाला स्वारस्य असल्यास, तुम्हाला माहित असले पाहिजे की Memlab कोड MIT परवान्याअंतर्गत मुक्त स्रोत आहे आणि तुम्ही त्याबद्दल अधिक जाणून घेऊ शकता पुढील लिंकवर


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.