संभव डुप्लिकेट:
Why are interface method invocations slower than concrete invocations?कौन सा तेज़, सार वर्ग या इंटरफ़ेस है?
मैं हाल ही में एक साक्षात्कार में जो साक्षात्कारकर्ता से कहा कि जो एक के बीच तेजी से सार वर्ग और इंटरफ़ेस है में प्रदर्शित करने का मौका मिला। हालांकि मुझे इस सवाल से उलझन में आया लेकिन मैंने इंटरफ़ेस का मुख्य रूप से जवाब दिया क्योंकि मैंने सोचा था कि देर से बाध्यकारी अवधारणा सार कक्षा में प्रदर्शन विलंब का कारण बन सकती है। वेब पर इस सवाल का अन्वेषण करने के बाद, मुझे पता चला कि सार विधियां तेज हैं हालांकि कुछ ब्लॉगों के अनुसार इंटरफ़ेस विधियां तेज़ हैं। मैं थोड़ा उलझन में था इसलिए मैंने इस सवाल से यह सही समझने के लिए कहा कि कौन सा तेज़ है और मजबूत कारण क्यों है।
निम्नलिखित के अनुसार सार वर्ग तेजी से है लेकिन इसके लिए कोई उचित कारण नहीं है। http://www.codeproject.com/Articles/11155/Abstract-Class-versus-Interface
पहले नियम दो बार दोहराने के लिए गंभीर रूप से लुभाने लगे, जैसा कि उन सभी "फाइट क्लब का पहला नियम" उद्धरण है ... – tucuxi
उस दर्शन के साथ एक समस्या यह है कि यह प्रकट नहीं करेगा कि असली दुनिया के कारक आम तौर पर- कभी-कभी आम तौर पर कम से कम एक से अधिक खराब प्रदर्शन करने के लिए बेहतर दृष्टिकोण।उदाहरण के लिए, कोड के दो टुकड़ों के बीच चुनाव दिया जाता है, जिनमें से एक को चार चार vtable पहुंच की आवश्यकता होती है और जिनमें से एक को अतिरिक्त 32 बाइट कचरे को आवंटित करने की आवश्यकता होती है, यह संभव है कि जो अधिक कचरा उत्पन्न करता है वह आमतौर पर तेज़ होगा, लेकिन हो सकता है जीन 0 कलेक्शन चक्रों के बीच छूने वाले बहुत सारे जीन 2 कचरा होने पर बहुत धीमी हो जाती है। – supercat
मेरा मुद्दा यह है कि हर जगह हाथ-अनुकूलन अनुकूलित करने से आपके समय का एक बहुत ही गरीब उपयोग है * केवल जहां यह वास्तव में मायने रखता है *। पहले प्रोफ़ाइल, गर्म क्या है, और * * * अनुकूलित करें। अन्यथा आप समय और प्रयास बर्बाद कर रहे हैं। – tucuxi