मैं एक एप्लिकेशन पर काम कर रहा हूं और एक डिजाइन दृष्टिकोण में instanceof
ऑपरेटर का बहुत भारी उपयोग शामिल है । जबकि मुझे पता है कि ओओ डिजाइन आमतौर पर उपयोग करने से बचने की कोशिश करता है instanceof
, यह एक अलग कहानी है और यह सवाल विशुद्ध रूप से प्रदर्शन से संबंधित है। मैं सोच रहा था कि क्या कोई प्रदर्शन प्रभाव है? बस के रूप में उपवास के रूप में है ==
?
उदाहरण के लिए, मेरे पास 10 उपवर्गों के साथ एक बेस क्लास है। बेस क्लास को लेने वाले एकल फ़ंक्शन में, मैं जाँच करता हूँ कि क्या क्लास सबक्लास का एक उदाहरण है और कुछ रूटीन को पूरा करता है।
मैंने इसे हल करने के अन्य तरीकों में से एक के बजाय "टाइप आईडी" पूर्णांक आदिम का उपयोग करने के लिए सोचा था, और उपवर्गों की श्रेणियों का प्रतिनिधित्व करने के लिए एक बिटमास्क का उपयोग करें, और फिर उपवर्गों की तुलना में थोड़ा सा मुखौटा करें "टाइप आईडी" निरंतर मुखौटा श्रेणी का प्रतिनिधित्व करता है।
क्या instanceof
किसी तरह से JVM द्वारा अनुकूलित किया जा सकता है इससे तेज? मैं जावा से चिपके रहना चाहता हूं लेकिन ऐप का प्रदर्शन महत्वपूर्ण है। यह अच्छा होगा यदि कोई व्यक्ति इस सड़क से पहले उतर गया हो तो कुछ सलाह दे सकता है। क्या मैं बहुत ज्यादा नाइटपैकिंग कर रहा हूं या अनुकूलन के लिए गलत चीज पर ध्यान केंद्रित कर रहा हूं?