2012-12-19 4 views
5

कॉल एक:क्या पंक्ति में एकाधिक ऑब्जेक्ट्स को कॉल करने का प्रदर्शन प्रभाव है?

double Value = Object.Object.Object.Object.DoubleValue; 

कॉल बी:

double Value : Object.DoubleValue; 

इस तो पाश के लिए एक में थे और कई बार से अधिक बुलाया जा रहा है और वहाँ पर किसी वस्तु में एक वस्तु फोन करने के लिए एक प्रदर्शन नुकसान होगा या यह ध्यान देने योग्य लायक है?

+1

कंपाइलर और जेट अनुकूलित करें कि यह आपके लिए क्या कर सकता है, अगर आपको कुछ संदेह है - प्रोफाइलिंग का उपयोग करें और देखें कि यह वास्तव में एक मुद्दा है या नहीं। यह मुद्दा परिभाषा द्वारा समयपूर्व अनुकूलन है। – amit

+0

क्या आपके पास संकलक काम करता है इस पर एक लिंक है, मैं जानना चाहता हूं कि यह वास्तव में क्या कर रहा है :-) –

+0

आपके पास बाइटकोड है, बस इसे देखें। –

उत्तर

7

रीडबिलिटी प्रोग्रामर के लिए है, ऑप्टिमाइज़ेशन कंपाइलर्स के लिए हैं (और जेट अनुकूलन, ईमानदार होने के लिए)।

अपनी टीम में जो कुछ भी मानक है और अधिक पढ़ने योग्य है।

यदि आप ऐसा करते हैं तो आपको कुछ प्रदर्शन समस्या पर संदेह है - यह जांचने के लिए एक प्रोफाइलर का उपयोग करें कि यह वास्तव में मामला है, और तदनुसार समायोजन करें।

+0

+1 मुझे यह इंगित करना चाहिए कि स्पष्ट, सरल है कोड प्रदर्शन से लगभग हमेशा अधिक महत्वपूर्ण है जब तक कि आपको पता न हो * यह एक मुद्दा है। –

2

क्या यह ध्यान देने योग्य नहीं है?

इसका आप नैनो सेकंड के दसियों लागत आ सकती JIT काफी के अनुकूलन में अच्छा (जो आपके लिए महत्वपूर्ण है?)/कैशिंग संदर्भ नज़र उतार इसलिए स्थानीय चर में उन्हें रखने mcuh तेजी से होने की संभावना नहीं है। यानी अगर यह महत्वपूर्ण है कि कुछ आसान होने की संभावना नहीं है तो आप इसके बारे में कर सकते हैं।

+0

तो प्रदर्शन प्रदर्शन निहितार्थ है? –

+1

लगभग हमेशा किसी प्रकार का प्रीफॉर्मेंस प्रभाव होता है और लगभग सभी प्रश्नों में चिंता करने के लिए बहुत छोटा होता है। ;) –

संबंधित मुद्दे