जावा में 'इंस्टेंसऑफ' का उपयोग करने का प्रदर्शन निहितार्थ
जावा में 'इंस्टेंसऑफ' ऑपरेटर यह निर्धारित करने के लिए टाइप चेकिंग करता है कि कोई ऑब्जेक्ट एक है या नहीं किसी निर्दिष्ट वर्ग या इंटरफ़ेस का उदाहरण। हालांकि आमतौर पर OO डिज़ाइन में इसके उपयोग को कम करने की सलाह दी जाती है, यह आलेख विशेष रूप से इसके प्रदर्शन प्रभाव की जांच करता है।
'=='
समानता ऑपरेटर के विपरीत 'के साथ तुलना ==', जो वस्तु पहचान के संदर्भों की तुलना करता है, 'instanceof' प्रकारों की तुलना करता है। '==' काफी तेज है, विशेष रूप से संदर्भ प्रकारों के लिए, क्योंकि यह केवल जांच करता है कि संदर्भ समान हैं या नहीं।
बेंचमार्किंग वैकल्पिक कार्यान्वयन
प्रदर्शन का मात्रात्मक आकलन करने के लिए 'इंस्टेंसऑफ़' के लिए, चार वैकल्पिक कार्यान्वयनों के साथ एक बेंचमार्क आयोजित किया गया था:
परिणाम
बेंचमार्क से पता चला कि 'instanceof' वास्तव में सबसे तेज़ दृष्टिकोण है, इसके बाद 'getClass()' आता है। कस्टम प्रकार का कार्यान्वयन और अमूर्त वर्ग पद्धति काफी धीमी थी।
इन निष्कर्षों के आधार पर, 'इंस्टेंसऑफ़' का उपयोग प्रदर्शन संबंधी चिंता का विषय नहीं होना चाहिए। हालाँकि, यदि अत्यधिक प्रदर्शन अनुकूलन की आवश्यकता है, तो 'getClass()' एक व्यवहार्य विकल्प हो सकता है।
निष्कर्ष
अधिकांश उपयोग के मामलों के लिए, 'instanceof' सबसे तेज़ रहता है जावा में टाइप चेकिंग की विधि। इसका प्रदर्शन 'getClass()' के समान है। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि 'instanceof' पर अत्यधिक निर्भरता से कोड कम कुशल हो सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3