फेसबुकने सिन्डर सोर्स कोड जारी केला जो इन्स्टाग्रामद्वारे वापरला जातो

फेसबुक अनावरण केले अलीकडे एका पोस्टद्वारे, सिंडर प्रोजेक्टचा सोर्स कोड रिलीझ करणे, जे आहे सीपीथॉन शाखेचा काटा आणि पायथन प्रोग्रामिंग भाषेचा मुख्य संदर्भ अंमलबजावणी.

दंड इन्स्टाग्राम पॉवर करण्यासाठी फेसबुकच्या उत्पादन इन्फ्रास्ट्रक्चरमध्ये वापरलेले आणि कार्यप्रदर्शन सुधारण्यासाठी ऑप्टिमायझेशनचा समावेश आहे. हा कोड सीपीथॉनच्या मुख्य प्रवाहात रेडीमेड ऑप्टिमायझेशनच्या स्थलांतरित होण्याच्या शक्यतेविषयी आणि सीपीथॉनच्या इतर कामगिरी सुधारित प्रकल्पांना मदत करण्यासाठी चर्चा करण्यात आला आहे.

फेसबुक नमूद करतो की तो स्वतंत्र ओपन सोर्स प्रोजेक्ट म्हणून सिंडरला समर्थन देणार नाही आणि हा कोड ज्या फॉर्ममध्ये कंपनीच्या पायाभूत सुविधांमध्ये अतिरिक्त कागदपत्रांशिवाय वापरला जातो त्या स्वरूपात सादर केला जातो.

सिन्डर एकतर सीपीथॉनचा ​​पर्याय म्हणून स्वत: ची जाहिरात करीत नाही - सीपीथॉनमध्ये सुधारणा करणे हे मुख्य विकास लक्ष्य आहे.

सिंडरचा कोड वाजवी विश्वसनीय मानला जातो आणि उत्पादन वातावरणात चाचणी केली, परंतु जर समस्या ओळखल्या गेल्या तर त्या स्वतःच सोडवण्याची गरज आहे, कारण बाह्य त्रुटीच्या संदेशांना प्रतिसाद मिळेल याची हमी फेसबुक देत नाही आणि पुल विनंत्या.

त्याच वेळी, फेसबुक समुदायासह रचनात्मक सहकार्यास वगळत नाही आणि सिंडरला आणखी वेगवान कसे बनवायचे किंवा सीपीथॉनच्या मुख्य चौकटीत तयार केलेल्या बदलांच्या हस्तांतरणाला गती कशी द्यावी यासंबंधीच्या कल्पनांवर चर्चा करण्यास तयार आहे.

सिंडरमध्ये लागू केलेली मुख्य ऑप्टिमायझेशन अशी आहे:

  • बायटेकोड ऑनलाइन कॅशींग: पद्धतीचा सार म्हणजे टिपिकल ऑपकोड अंमलबजावणीची परिस्थिती ओळखणे जी गतिशीलपणे ऑप्टिमाइझ केली जाऊ शकते आणि त्या ऑपकोडला वेगवान विशेष पर्यायांसह पुनर्स्थित करा.
  • नियमित मूल्यमापन: तत्काळ प्रक्रिया केलेल्या एसिंक्रोनस फंक्शन कॉलसाठी, त्या फंक्शन्सचा परिणाम कॉरॉटिन तयार केल्याशिवाय आणि इव्हेंट लूपची विनंती न करता थेट अधिलिखित केला जातो. फेसबुक वापरल्या जाणार्‍या कोडमध्ये, ऑप्टिमायझेशनमुळे सुमारे 5% गती वाढते.
  • स्वतंत्र पद्धती आणि कार्ये पातळीवर जेआयटीचे निवडक संकलनः ते "-एक्स जिट" पर्यायाद्वारे किंवा पर्यावरणीय चल पायथॉनजिट = 1 द्वारे सक्षम केले आहे आणि आपल्याला 1,5 ते 4 वेळा बर्‍याच कामगिरी चाचण्या वेगवान करण्यास अनुमती देते.
    ज्या फंक्शनसाठी जेआयटी सक्षम केली जावी त्याची यादी प्रोफाइलच्या निकालांच्या आधारे निश्चित केली जाऊ शकते. भविष्यात, फंक्शन कॉल फ्रीक्वेंसीच्या अंतर्गत विश्लेषणावर आधारित डायनॅमिक जेआयटी संकलनासाठी समर्थन अपेक्षित आहे, परंतु इंस्टाग्रामवर लाँच प्रक्रियेच्या तपशीलांचा विचार करता, प्रारंभिक टप्प्यात जेआयटी संकलन देखील फेसबुकसाठी योग्य आहे.
    जेआयटी प्रथम पायथनच्या बायकोडला उच्च-स्तरीय इंटरमिजिएट प्रतिनिधित्व (एचआयआर) मध्ये रूपांतरित करते, जे पायथनच्या बायकोडच्या अगदी जवळ आहे, परंतु स्टॅकवर आधारित आभासी मशीनऐवजी रेकॉर्ड-आधारित व्हर्च्युअल मशीन वापरण्यासाठी डिझाइन केले आहे, आणि टाइप माहिती देखील वापरते आणि कार्यप्रदर्शनाशी संबंधित अतिरिक्त तपशील. एचआयआर नंतर स्टॅटिक सिंगल Allलोकेशन (एसएसए) फॉर्ममध्ये रूपांतरित होते आणि संदर्भ संख्या आणि मेमरी वापर डेटाच्या आधारे ऑप्टिमायझेशनच्या टप्प्यातून जातात. परिणामी, निम्न-स्तरीय मध्यवर्ती प्रतिनिधित्व (एलआयआर) तयार केले जाते, जे असेंब्ली भाषेच्या जवळ आहे.
  • मॉड्यूलसाठी कठोर मोड:कार्यक्षमतेचे तीन घटक आहेत: स्ट्राइकमोड्यूल प्रकार. मॉड्यूलची अंमलबजावणी त्या मॉड्यूलच्या बाहेरील कोडवर परिणाम करत नाही हे निर्धारित करण्यास सक्षम एक स्थिर विश्लेषक.
  • स्थिर पायथन: एक प्रायोगिक बायटेकोड कंपाईलर आहे जो प्रत्येक प्रकारच्या विशिष्ट बाईकोड व्युत्पन्न करण्यासाठी टाइप भाष्ये वापरतो आणि जेआयटी संकलनातून वेगवान चालतो. काही चाचण्यांमध्ये, स्टॅटिक पायथन आणि जेआयटी यांचे संयोजन टिपिकल सीपीथॉनपेक्षा 7x पर्यंत कामगिरी सुधार दर्शवते. बर्‍याच परिस्थितींमध्ये, MyPyC आणि Cython कंपाईलर वापरल्या गेलेल्या परिणामांचे मूल्यांकन केले जाते.

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


टिप्पणी करणारे सर्वप्रथम व्हा

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

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

*

*

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