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

हेमीज़

फेसबुक ने हल्के हर्म्स जावास्क्रिप्ट इंजन के लिए सोर्स कोड खोला है, Android प्लेटफ़ॉर्म पर React Native फ्रेमवर्क आधारित एप्लिकेशन चलाने के लिए अनुकूलित।

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

हेमीज़ के बारे में

हेमीज़ समर्थन को आज के संस्करण 0.60.2 के रूप में प्रतिक्रिया मूल में बनाया गया है। परियोजना को देशी जावास्क्रिप्ट अनुप्रयोगों और महत्वपूर्ण संसाधन खपत के लिए लंबे स्टार्टअप समय के साथ समस्याओं को हल करने के लिए मान्यता प्राप्त है। कोड C ++ में लिखा गया है और एमआईटी लाइसेंस के तहत वितरित किया गया है।

हेमीज़ का उपयोग करने के फायदों में से, आवेदन के प्रारंभ समय में कमी हैस्मृति की खपत में कमी और अनुप्रयोग के आकार में कमी।

अनुप्रयोगों का त्वरण प्रक्षेपण एक बायोटेक में precompilation का उपयोग करके प्राप्त किया जाता है संकलन चरण में कॉम्पैक्ट और कुशल।

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

हेमीज़ इंजन इन चरणों को संकलन चरण में ले जाता है और अनुप्रयोगों को अनुकूलित बाइट कोड के रूप में वितरित करने की अनुमति देता है।

जावास्क्रिप्ट प्रसंस्करण को कई चरणों में विभाजित किया गया है। प्रारंभ में, स्रोत कोड पार्स किया जाता है और मध्यवर्ती कोड प्रतिनिधित्व (हेमीज़ आईआर) एसएसए प्रतिनिधित्व (स्टेटिक यूनीक असाइनमेंट) पर आधारित होता है।

इसके अलावा, मध्यवर्ती प्रतिनिधित्व को ऑप्टिमाइज़र में संसाधित किया जाता है, जो मूल कार्यक्रम के शब्दार्थ को संरक्षित करते हुए प्राथमिक मध्यवर्ती कोड को अधिक कुशल मध्यवर्ती प्रतिनिधित्व में बदलने के लिए सक्रिय स्थैतिक अनुकूलन तकनीकों का उपयोग करता है।

अंत में अंतिम चरण में, पंजीकृत वर्चुअल मशीन के लिए बाइट कोड उत्पन्न होता है।

एक डेमो में, मार्क होरोविट्ज़ ने दिखाया कि हेमीज़ के साथ एक रिएक्टिव नेटिव एप्लिकेशन यह पूरी तरह से हेमीज़ के बिना लोड किए गए एक ही आवेदन की तुलना में लगभग दो सेकंड तेजी से भरी हुई थी।

मार्क होरोविट्ज़ ने सुनिश्चित किया कि हेमीज़ ने एपीके का आकार भी कम कर दिया है एक प्रतिक्रियाशील मूल निवासी एप्लिकेशन के 41MB के बीच में और ऐप के मेमोरी उपयोग के एक चौथाई को समाप्त कर दिया।

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

इंजन ECMAScript 2015 जावास्क्रिप्ट मानक (इसका पूर्ण समर्थन अंतिम लक्ष्य है) के हिस्से का समर्थन करता है और यह सबसे मौजूदा रिएक्ट नॉट अनुप्रयोगों के साथ संगत है। हर्मीस में, यह "अभिव्यक्ति, प्रतिबिंब (प्रतिबिंब और प्रॉक्सी), Intl एपीआई एपीआई और RegExp में कुछ झंडे के साथ eval ()," के स्थानीय कास्टिंग का समर्थन नहीं करने का फैसला किया गया था।

रिएक्टिव नेटिव एप्लिकेशन में हेमीज़ को सक्षम करने के लिए, प्रोजेक्ट में "enableHermes: true" विकल्प जोड़ें। सीएलआई इंटरफ़ेस मोड में हेमीज़ को संकलित करना भी संभव है, जो आपको कमांड लाइन से मनमानी जावास्क्रिप्ट फ़ाइलों को निष्पादित करने की अनुमति देता है।

एक ही समय में, फेसबुक केवल मोबाइल एप्लिकेशन पर ध्यान केंद्रित करते हुए, Node.js और अन्य समाधानों के लिए हेमीज़ को अनुकूलित करने की योजना नहीं बनाता है (JIT के बजाय AOT को संकलित करना रिएक्ट नेटिव आधारित मोबाइल ऐप्स के संदर्भ में अधिक इष्टतम है)।

Microsoft ने प्रारंभिक प्रदर्शन परीक्षण किए और दिखाया कि हेमीज़ का उपयोग करते समय, एंड्रॉइड एप्लिकेशन के लिए Microsoft कार्यालय 1.1 सेकंड में काम करने के लिए उपलब्ध है।

लॉन्च के बाद और इसमें 21.5MB रैम की खपत होती है, जबकि V8 इंजन का इस्तेमाल करते हुए लॉन्च में 1.4 सेकंड का समय लगता है और मेमोरी की खपत 30MB है।


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

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

*

*

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