में त्रिगुट ऑपरेटर जावास्क्रिप्ट में Math.max की शैली, यह ऐसा करने के लिए बेहतर है?स्पीड और बनाम जावास्क्रिप्ट
उत्तर
दूसरा मुझे स्पष्ट लगता है क्योंकि यह कार्यान्वयन के बजाय इरादा दिखा रहा है।
मुझे ऐसी कई स्थितियों पर संदेह है जहां कोई प्रदर्शन अंतर कोई उल्लेखनीय अंतर करेगा और यह शायद कार्यान्वयन पर निर्भर करता है।
उस पर +1: Math.max के साथ, लोग आपका कोड पढ़ रहे हैं ** immeditaly ** समझें कि आप क्या करने की कोशिश कर रहे हैं; के साथ?:, उन्हें कम से कम एक या दो सेकंड के लिए सोचना होगा ... यदि आपके पास कोड की 300 लाइनें हैं, तो शायद कुछ मिनट पहले से ही कोई अच्छा कारण नहीं सोच रहा है (आपके कुछ वास्तव में महत्वपूर्ण भागों को छोड़कर) आवेदन, इस प्रकार का सूक्ष्म अनुकूलन शायद व्यर्थ है) - किसने समयपूर्व अनुकूलन, और सभी बुराइयों की जड़ के बारे में कुछ कहा? ^^ –
मुझे लगता है कि डोनाल्ड knuth – Breton
यह वास्तव में एक कारक है जब आप 130 एमबी Float32Array वस्तुओं को पार कर रहे हैं। –
गति के लिए, कोई महत्वपूर्ण अंतर नहीं है।
शैली के लिए, Math.max अधिक पढ़ने योग्य है और इसलिए सबसे अच्छा विकल्प है।
Math.max() वही काम करता है जो आपने पहले लिखा था। यह अधिकतम लौटने के लिए टर्नरी ऑपरेटर का उपयोग करता है। इसलिए यदि आप कुछ नैनोसेकंड को छोड़ना चाहते हैं तो आप किसी फ़ंक्शन पर कॉल से बचने के लिए पहले तरीके का उपयोग कर सकते हैं। हालांकि, आईएमएचओ, यह अंतर वास्तव में प्रदर्शन को प्रभावित नहीं कर सकता है, जब तक कि आपके पास Math.max का ढेर न हो।
मोनो पर जेआईटी गणित को रेखांकित कर सकता है .मिन और गणित। मैक्स विधियां और कस्टम, इनलाइन, कार्यान्वयन की तुलना में बेहतर प्रदर्शन प्रदान करती हैं। हार्डवेयर द्वारा उपलब्ध होने पर यह विशेष निर्देशों का उपयोग करेगा। तो एक दिन यदि जावास्क्रिप्ट में कुछ जेआईटी (Google वी 8?) है तो शायद यह उपयोगकर्ता मैथ क्लास के लिए कुछ प्रदर्शन लाभ होगा।
इस जेएसपीआरएफ परीक्षण के अनुसार, यदि एक कथन सबसे अधिक प्रदर्शनकारी है।
http://jsperf.com/math-min-vs-if-condition-vs/2
हालांकि, मैं इस बात से सहमत है कि Math.max/Math.min अधिक पठनीय है।
http://jsperf.com/math-min-vs-if-condition-vs/13
कई ब्राउज़रों पर मेरे जांच दर्शाती है कि Math.min, त्रिगुट ऑपरेटर और एक अगर बयान इसी तरह करते हैं:
धन्यवाद। आपके परीक्षण का उपयोग करके मुझे ये परिणाम मिल गए: 'function' -> 7% धीमी,' Math.min' -> 1% धीमी, 'if' -> सबसे तेज़। – Luke
यहाँ एक JSPerf परीक्षण है जो आप अपने ब्राउज़र (ओं) पर यह जांच कर सकते हैं।
- 1. फ़ाइल एक्सेस स्पीड बनाम डेटाबेस एक्सेस स्पीड
- 2. स्पीड
- 3. स्पीड तरीकों से अधिक सुरक्षा अनुकूलता बनाम बनाम
- 4. स्पीड तुलना - व्याख्यात्मक भाषाओं में प्रक्रियात्मक बनाम ओओ
- 5. सीएसएस और jQuery चयनकर्ता स्पीड
- 6. jquery/js स्पीड टेस्ट
- 7. मैं स्पीड
- 8. स्पाइडरमोन्की बनाम जावास्क्रिप्ट बनाम बनाम?
- 9. यदि स्विच और फ़ंक्शन पॉइंटर्स स्पीड तुलना
- 10. स्पीड अप Data.Array पंक्ति निष्कर्षण और छानने
- 11. बनाम जावास्क्रिप्ट
- 12. लिंक स्पीड प्राप्त करें - Win32_PerfRawData_Tcpip_NetworkInterface
- 13. डायनामिक प्रॉक्सी जेनरेशन स्पीड
- 14. माइक्रोसॉफ्ट स्पीच रिकग्निशन स्पीड
- 15. खोजें: डिस्प्ले टेम्पलेट्स स्पीड
- 16. सी # लैम्ब्डा अभिव्यक्ति स्पीड
- 17. स्पीड अप रनहास्केल
- 18. मार्की सेट स्पीड
- 19. मैक्रोडेफ़ बनाम स्क्रिप्ट बनाम जावास्क्रिप्ट
- 20. डेल्फी कॉम्बोबॉक्स स्पीड
- 21. mysql क्वेरी स्पीड ऑप्टिमाइज़ेशन
- 22. स्पीड मुद्दा तार
- 23. स्पीड अप डाउनलोड समय
- 24. विम: दस्तावेज़ ट्रैवर्सल स्पीड
- 25. यूएसबी पोर्ट स्पीड लिनक्स
- 26. और बनाम * और | बनाम +
- 27. सीखना जावास्क्रिप्ट बनाम jQuery
- 28. वेनिला जावास्क्रिप्ट बनाम jquery
- 29. कुकीज़ - PHP बनाम जावास्क्रिप्ट
- 30. "सामान्य" कार्यों बनाम जावास्क्रिप्ट
यदि कुछ भी नहीं, तो गति के सरल प्रश्नों के लिए आपके पास हमेशा अपने हाथों में परीक्षण करने की क्षमता होती है। – Amber