जावास्क्रिप्ट में const
कीवर्ड के पीछे उपयोग के लिए ठोस संख्याओं की खोज पर, मैंने सभी तीन परिवर्तनीय घोषणा प्रकारों var, let और const के बीच प्रदर्शन तुलना पर ठोकर खाई। मुझे परीक्षण सेटअप पसंद नहीं आया, इसलिए मैंने a simplified one बनाया।जावास्क्रिप्ट 'लेट' और 'var' फॉर-लूप
मैं बहुत अंतर उम्मीद नहीं थी और Firefox मेरी उम्मीदों पर खरा मापा:
लेकिन क्रोमियम कुछ अजीब में हुआ:
इतना ही नहीं सभी परीक्षण के परिणाम हैं लूप के अंदर काफी कम लेकिन let
गति के एक अंश तक टूट जाता है।
मैंने यह सुनिश्चित करने के लिए ब्राउज़रस्टैक में परीक्षण चलाने का फैसला किया है कि यह मेरा क्विर्की लिनक्स सेटअप नहीं है। विंडोज 10 पर Firefox 53
और Chrome 58
के साथ ऐसा ही होता है। मैंने कुछ हद तक पुराने Chrome 50
का परीक्षण किया और वही व्यवहार प्राप्त किया।
क्या चल रहा है? क्या यह एक बग है?
संपादित करें: कुछ ने टिप्पणी की कि लूप शायद कुछ भी नहीं कर रहा है क्योंकि यह कुछ भी नहीं कर रहा है। दिखाने के लिए, यह मामला नहीं है, मैंने the test बदल दिया।
क्या आप वाकई फ़ायरफ़ॉक्स को कोड को अनुकूलित नहीं कर रहे हैं?वास्तव में उन कोड ब्लॉक में से कोई भी * कुछ * ऐसा नहीं कर सकता है क्योंकि वे गति में समान हैं। – CodingIntrigue
_ "मैंने एक सरलीकृत बनाया है।" _ आपने अनिवार्य रूप से पूरे परीक्षण को हटा दिया है। आपने एक लूप बनाया जो कुछ भी नहीं करता है और इसलिए इसे अनुकूलित किया जाता है। "अंदर आने दें" के दुष्प्रभाव भी नहीं हैं, यही कारण है कि यह "सबसे तेज़" है। क्रोम का इंजन इस विशेष मामले को अनुकूलित करने के लिए प्रतीत नहीं होता है। – zeroflagL
@CodingIntrigue: मैं इस बारे में सोचा है, लेकिन एक खाली पाश में काफी अधिक संख्या (18 मेरी मशीन पर लाख के आसपास) में परिणाम होगा चल रहा है। की – koehr