फेसबुक ने सिंडर सोर्स कोड जारी किया जो इंस्टाग्राम द्वारा उपयोग किया जाता है

फेसबुक का अनावरण किया हाल ही में एक पोस्ट के माध्यम से, सिंडर परियोजना का स्रोत कोड जारी करना, जो है सीपीथॉन शाखा का एक कांटा और पायथन प्रोग्रामिंग भाषा का मुख्य संदर्भ कार्यान्वयन।

राख इंस्टाग्राम को पावर देने के लिए फेसबुक के प्रोडक्शन इन्फ्रास्ट्रक्चर में इस्तेमाल किया गया और प्रदर्शन में सुधार के लिए अनुकूलन शामिल हैं। सीपीथॉन की मुख्यधारा के लिए तैयार अनुकूलन के पलायन की संभावना और अन्य सीपीथॉन प्रदर्शन सुधार परियोजनाओं की सहायता के लिए कोड को प्रकाशित किया गया है।

फेसबुक का उल्लेख है कि यह एक अलग ओपन सोर्स प्रोजेक्ट के रूप में सिंडर का समर्थन नहीं करेगा और कोड को उस रूप में प्रस्तुत किया जाता है जिसमें कंपनी के बुनियादी ढांचे में इसका उपयोग अतिरिक्त दस्तावेज के बिना किया जाता है।

सिंडर या तो सीपीथॉन के विकल्प के रूप में खुद को बढ़ावा नहीं दे रहा है - मुख्य विकास लक्ष्य सीपीथॉन को सुधारना है।

सिंडर का कोड यथोचित विश्वसनीय माना जाता है और उत्पादन वातावरण में परीक्षण किया है, लेकिन यदि समस्याओं की पहचान की जाती है, तो उन्हें अपने आप हल करने की आवश्यकता होगी, क्योंकि फेसबुक गारंटी नहीं देता है कि यह बाहरी त्रुटि संदेशों का जवाब देगा और अनुरोधों को खींचें।

इसी समय, फेसबुक समुदाय के साथ रचनात्मक सहयोग को बाहर नहीं करता है और इस बात पर विचार करने के लिए तैयार है कि कैसे सिंडर को और भी तेज किया जाए या सीपीथॉन के मुख्य ढांचे में तैयार परिवर्तनों के हस्तांतरण को कैसे तेज किया जाए।

सिंडर में लागू मुख्य अनुकूलन निम्नलिखित हैं:

  • बायोटेक ऑनलाइन कैशिंग: विधि का सार विशिष्ट ओपोड निष्पादन स्थितियों की पहचान करना है जो गतिशील रूप से अनुकूलित हो सकते हैं और उस ओपकोड को तेजी से विशिष्ट विकल्पों के साथ बदल सकते हैं।
  • नियमित मूल्यांकन: एसिंक्रोनस फ़ंक्शन कॉल के लिए जिन्हें तुरंत संसाधित किया जाता है, उन कार्यों का परिणाम सीधे एक कॉरआउट बनाने के बिना और इवेंट लूप को लागू किए बिना ओवरराइड किया जाता है। फेसबुक द्वारा उपयोग किए जाने वाले कोड में, जो इसका अत्यधिक उपयोग करता है, अनुकूलन लगभग 5% का त्वरण करता है।
  • व्यक्तिगत तरीकों और कार्यों के स्तर पर चयनात्मक JIT संकलन: यह "-X jit" विकल्प या पर्यावरण चर PYTHONJIT = 1 द्वारा सक्षम है और कई प्रदर्शन परीक्षणों को 1,5 से 4 बार तेज करने की अनुमति देता है।
    उन कार्यों की सूची, जिनके लिए JIT को सक्षम किया जाना चाहिए, प्रोफाइल के परिणामों के आधार पर निर्धारित किया जा सकता है। भविष्य में, फ़ंक्शन कॉल आवृत्ति के आंतरिक विश्लेषण के आधार पर गतिशील जेआईटी संकलन का समर्थन अपेक्षित है, लेकिन इंस्टाग्राम पर लॉन्च प्रक्रियाओं की बारीकियों को देखते हुए, प्रारंभिक चरण में जेआईटी संकलन भी फेसबुक के लिए उपयुक्त है।
    JIT पहले पायथन के बाईटेकोड को एक उच्च-स्तरीय इंटरमीडिएट प्रतिनिधित्व (HIR) में परिवर्तित करता है, जो यथोचित रूप से Python के बाईटेकोड के करीब है, लेकिन रिकॉर्ड-आधारित वर्चुअल मशीन के बजाय रिकॉर्ड-आधारित वर्चुअल मशीन का उपयोग करने के लिए डिज़ाइन किया गया है, और स्टैक में भी। प्रदर्शन के लिए प्रासंगिक प्रकार की जानकारी और अतिरिक्त विवरण का उपयोग करता है। HIR को तब स्टेटिक सिंगल एलोकेशन (SSA) फॉर्म में बदल दिया जाता है और संदर्भ गणना और मेमोरी डेटा डेटा के आधार पर अनुकूलन के चरणों से गुजरता है। नतीजतन, एक निम्न-स्तरीय मध्यवर्ती प्रतिनिधित्व (LIR) उत्पन्न होता है, जो विधानसभा भाषा के करीब है।
  • मॉड्यूल के लिए सख्त मोड:कार्यक्षमता में तीन घटक होते हैं: StrictModule प्रकार। एक स्थिर विश्लेषक यह निर्धारित करने में सक्षम है कि किसी मॉड्यूल का निष्पादन उस मॉड्यूल के बाहर कोड को प्रभावित नहीं करता है।
  • स्थैतिक अजगर: एक प्रायोगिक बाइटेकोड कंपाइलर है जो बायोटकोड उत्पन्न करने के लिए प्रकार एनोटेशन का उपयोग करता है जो प्रत्येक प्रकार के लिए विशिष्ट है और जेसी संकलन के माध्यम से तेजी से चलता है। कुछ परीक्षणों में, स्टेटिक पायथन और जेआईटी के संयोजन में ठेठ सीपीथॉन पर 7x प्रदर्शन सुधार तक प्रदर्शित होता है। कई स्थितियों में, परिणामों का मूल्यांकन किया जाता है जैसे कि MyPyC और Cython संकलक का उपयोग किया गया था।

अंत में यदि आप सिंडर कोड प्राप्त करने में सक्षम होने में रुचि रखते हैं या इसके बारे में अधिक जानें, आप से परामर्श कर सकते हैं निम्नलिखित लिंक में विवरण।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।