फायरफॉक्स 70 सुधारित जावास्क्रिप्ट दुभाषेसह येईल

Firefox 70

हे सामान्य ज्ञान आहे आधुनिक वेब अनुप्रयोग बर्‍याच जावास्क्रिप्ट कोड चालवतात काही वर्षांपूर्वी पेक्षा. कंपाईलरांनी त्वरेने या ट्रेंडचे अनुसरण केले आहे आणि जावास्क्रिप्ट कार्यक्षम केले आहे, मोझिलासाठी या कामाचे ओझे आणखी चांगल्याप्रकारे हाताळण्यासाठी उपाय लागू करणे आवश्यक आहे.

हे करण्यासाठी, मोझिलाने नवीन बायकोड दुभाषी विकसित केली आणि जोडली आहे जावास्क्रिप्ट फायरफॉक्स 70 मध्ये तयार केलेल्या जावास्क्रिप्ट रेंडरिंग इंजिनवर. पुढच्या ऑक्टोबरमध्ये फायरफॉक्स 70० सह, मोझीला त्याच्या जावास्क्रिप्ट इंजिनमध्ये नवीन कोड इंटरप्रिटर वापरुन जावास्क्रिप्ट कोड व्यवस्थापनाची घोषणा करते.

हे लक्ष्य साध्य करण्यासाठी, मोझिला त्यास स्पष्ट करते आधुनिक जावास्क्रिप्ट इंजिनमध्ये, प्रत्येक फंक्शन प्रारंभी कोड इंटरप्रीटरमध्ये चालविला जातो.

ज्याला बरेच म्हणतात त्या फळांची मूळ मशीन कोडमध्ये संकलित केली जाते. याला उडतांना जेआयटी संकलन किंवा संकलन म्हणतात. जसा की फायरफॉक्समध्ये सी ++ मध्ये लिहिलेला जावास्क्रिप्ट कोड इंटरप्रिटर आणि जेआयटी संकलनाच्या विविध स्तरांचा समावेश आहे.

प्रथम, आमच्याकडे एक मूलभूत JIT कंपाईलर आहे जो आयटोनकी किंवा आयन नावाच्या JIT कंपाईलरसाठी कार्यप्रदर्शन आणि माहिती एकत्रित करण्यासाठी दोन्ही इनलाइन कॅशींगचा वापर करून प्रत्येक बायकोड स्टेटमेंट थेट मशीन कोडच्या एका छोट्या तुकड्यात संकलित करतो.

यामधून, आयओनमॉन्की कंपाईलर गंभीर पर्यायांसाठी द्रुत कोड व्युत्पन्न करण्यासाठी प्रगत ऑप्टिमायझेशन वापरते.

हे लक्षात घेतले पाहिजे की जेव्हा एखादे फंक्शन आधीपासून संकलित केले जाते तेव्हा त्यास नव्या प्रकारच्या वितर्कसह म्हटले जाते, तर कार्यासाठीचा कोड "डीओप्टिमाइझ" आणि टाकून दिला जाऊ शकतो. या प्रकरणात, पुढील आयन तयार होईपर्यंत बेस कोडमध्ये अंमलबजावणी सुरू आहे.

जावास्क्रिप्ट कोडच्या स्पष्टीकरण प्रक्रियेने आतापर्यंत बर्‍यापैकी चांगले काम केले आहे, तरीही कार्यसंघ फायरफॉक्स स्पष्ट करते की पहिल्यासह त्यास काही अडचणी आल्या आहेत पक्ष सी ++ इंटरप्रिटर आणि बेस जेआयटी कंपाईलर बनलेला.

Firefox 70

खरं तर, काही आधुनिक वेब अनुप्रयोग Google डॉक्स किंवा Gmail सारखे कंपाईलर इतका जावास्क्रिप्ट चालवा बेस आणि जेआयटी कंपाईलर देखील हजारो कार्ये संकलित करण्याचा त्यांचा प्रयत्न बराच काळ होता.

तसेच, सी ++ इंटरप्रिटर खूप धीमे व मूळ माहिती संकलित करण्यास विलंब लावून माहिती माहिती संकलित करीत नाही. एक उपाय त्या धाग्यावरुन काढून टाकला असता, परंतु तो कार्यक्षमतेचा धोका असू शकतो.

या समस्या सोडविण्यासाठी, मोझीला मधील लोक टिप्पणी देतात:

बेस दुभाषे सी ++ इंटरप्रिटर आणि बेस जेआयटी कंपाईलर दरम्यान असतात आणि त्यामध्ये दोन्ही स्तरांचे घटक असतात.

निश्चित दुभाषेच्या लूपसह (सी ++ इंटरप्रीटर सारख्या) सर्व बायकोड स्टेटमेंट्सची अंमलबजावणी करते आणि कार्यप्रदर्शन सुधारण्यासाठी आणि प्रकारची माहिती (मूलभूत जेआयटी प्रमाणे) संकलित करण्यासाठी इनलाइन कॅशींग तंत्र वापरते.

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

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

जीटस्क्रिप्टमध्ये सर्व प्रकारच्या माहिती आणि बेस इंटरप्रिटर आणि जेआयटी कंपाईलरद्वारे वापरल्या जाणार्‍या इनलाइन कॅशिंग डेटा स्ट्रक्चर्स असतात.

या नवीन अंमलबजावणीसह, फंक्शनसाठी मूलभूत कंपाईलर डेटा आता केवळ मशीन कोडमध्ये आहे. तिथून, सर्व कॅश्ड माहिती आणि प्रोफाइलिंग डेटा जीटस्क्रिप्टमध्ये हलविला गेला आहे.

दुसरीकडे, बेस दुभाषे आणि जेआयटी कंपाईलर एकसारखे असल्याने, व्युत्पन्न केलेला बराचसा कोड देखील सामायिक केला जाऊ शकतो.

हे करण्यासाठी, बेसलाइनकोडगेन नावाचा एक बेस क्लास 2 अन्य साधित वर्गांसह तयार केला गेला. मशीन कंपाईलमध्ये स्क्रिप्टचे बायकोड संकलित करण्यासाठी बेस कंपाईलर फर्स्ट क्लास बालिनाकंपीलर वापरते.

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

स्त्रोत: https://hacks.mozilla.org/


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

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

*

*

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