2011-06-07 15 views
7

The new JavaScript engine takes advantage of multiple CPU cores through Windows to interpret, compile, and run code in parallel. है - http://technet.microsoft.com/en-us/library/gg699435.aspxमाइक्रोसॉफ्ट का कहना है IE9 समानांतर जावास्क्रिप्ट प्रतिपादन और निष्पादन

और

The Chakra engine interprets, compiles, and executes code in parallel and takes advantage of multiple CPU cores, when available.-http://msdn.microsoft.com/en-us/ie/ff468705.aspx

प्रतीक्षा, क्या?!? क्या इसका मतलब है कि हमें IE9 में बहु-थ्रेडेड समानांतर जावास्क्रिप्ट कोड निष्पादन (वेब-श्रमिकों के बाहर) मिला है?

मुझे लगता है कि यह सिर्फ एक खराब विपणन नकल है लेकिन इस पर कुछ और जानकारी देखना चाहेंगे। हो सकता है कि उनका मतलब है कि अलग-अलग ब्राउज़र विंडो/टैब/प्रक्रियाएं एकाधिक सीपीयू का उपयोग कर सकती हैं? ताकि इस सवाल का एक वास्तविक जवाब के साथ समाप्त होता है

+4

मुझे लगता है कि उनका मतलब है "जब आप किसी पृष्ठ में एकाधिक स्क्रिप्ट शामिल करते हैं तो हम उन्हें समानांतर में लोड और व्याख्या करेंगे"। वास्तविक जावास्क्रिप्ट निष्पादन तुल्यकालिक है। – Raynos

+0

उस पर +1, @Raynos। लेकिन वे कह रहे हैं कि "निष्पादन/रन" ("निष्पादन" और "रन" समानार्थी हैं, है ना?) समानांतर में हो सकता है। –

+1

@ डेविड मर्डोक वे नहीं कर सकते हैं। आधे इंटरनेट टूट गए होंगे और हमने आईई 9 में इन दौड़ की स्थिति को _long_ समय पहले देखा होगा। यह भी समझ में आता है कि वे एक जेएस थ्रेड प्रति टैब के साथ समानांतर टैब में जेएस कोड चला सकते हैं। – Raynos

उत्तर

3

निष्कर्ष, मोटे तौर पर टिप्पणी के आधार पर है और इसलिए एक समुदाय विकी जवाब के रूप में प्रदान की:

यह संभव है माइक्रोसॉफ्ट का मतलब है कि कि (i) के अलग-अलग कार्यों की व्याख्या और/या चल रहा है; और (ii) संकलन समानांतर में होते हैं। यह संभव है कि उन्होंने सूर्य के पुराने हॉटस्पॉट जेवीएम जैसी तकनीक लागू की है ताकि जावास्क्रिप्ट वर्चुअल मशीन पहले उदाहरण पर कोड का अर्थ दे क्योंकि यह तुरंत इसे शुरू कर सकता है। यह भी जेआईटी किसी भी कोड को संकलित करता है जो कि लाभ के लिए ऐसा करने के लिए पर्याप्त रूप से उपयोग किया जाता है। इसमें कंपाइलर अनुकूलन के विभिन्न स्तर भी हो सकते हैं जो धीरे-धीरे डायल हो जाते हैं। उस स्थिति में यह कोड के एक टुकड़े को समझने या चलाने के लिए एकाधिक कोर का उपयोग कर सकता है, जबकि मनमाने ढंग से कई अन्य लोगों को संकलित करता है, या फिर भी संकलित होने और कोड के उसी टुकड़े को बेहतर अनुकूलित करने के दौरान भी।

हालांकि, यह तकनीकी स्तर पर भी संभव है कि आप यह निर्धारित करने के लिए स्थिर विश्लेषण कर सकें कि कॉलबैक राज्य के मामले में पारस्परिक रूप से स्वतंत्र कब हैं, और उन कॉलबैक को समानांतर में निष्पादित करने की अनुमति दें यदि ट्रिगरिंग घटनाओं ने उन्हें ऐसा करने के लिए प्रेरित किया। इस तरह एक जावास्क्रिप्ट आभासी मशीन वास्तव में भाषा की अर्थात् धारावाहिक प्रकृति को प्रभावित किए बिना समानांतर में कोड को चला/चला सकती है। इस तरह की एक प्रणाली तार्किक रूप से superscalar CPUs के संचालन के समान ही होगी, यद्यपि बहुत अधिक निकालने और काफी अधिक जटिलता के साथ।

संबंधित मुद्दे