2012-01-04 14 views
38

मुझे कोई संदेह है, क्या जावा कोड में अप्रयुक्त आयात और अप्रयुक्त ऑब्जेक्ट्स कोई प्रदर्शन प्रभाव उत्पन्न करता है?क्या अप्रयुक्त आयात और ऑब्जेक्ट्स का प्रदर्शन प्रभाव

मान लीजिए कि किसी ऑब्जेक्ट को प्रारंभ किया गया है और कभी भी उपयोग नहीं किया जाता है, क्या होता है? और अप्रयुक्त आयात की लागत क्या है

+7

http://stackoverflow.com/questions/979057/any-reason-to-clean-up-unused-imports-in-java-other-than-reducing-clutter –

+0

ग्रहण 'व्यवस्थित आयात' फ़ंक्शन का उपयोग क्यों न करें ? –

+0

या इंटेलिजे या नेटबीन या किसी भी सभ्य आईडीई में व्यवस्थित आयात। –

उत्तर

39

यह एक बहुत ही आम सवाल है।

अधिकांश प्रदर्शन प्रश्नों की तरह सबसे अच्छा तरीका सबसे स्पष्ट और सरल कोड लिखना है क्योंकि यह कोड की रखरखाव में सुधार करता है और यह बदलने में मदद करता है कि यह बदल जाने के बाद भी उचित रूप से अच्छा प्रदर्शन करता है। (चालाक/Obtuse/अनिवार्य रूप से Verbose कोड शुरू करने के लिए तेजी से चला सकते हैं, लेकिन क्योंकि यह केवल प्राणियों द्वारा बदला जाता है, यह बहुत धीमा हो सकता है)

अप्रयुक्त आयात का संकलक पर एक छोटा प्रभाव पड़ता है, लेकिन बाइट में कोई आयात नहीं होता है कोड या रनटाइम पर।

अप्रयुक्त वस्तुओं को अनुकूलित किया जा सकता है, लेकिन इन्हें टालने के लिए सबसे अच्छा है क्योंकि वे लगभग हमेशा कुछ प्रदर्शन प्रभाव डालते हैं, लेकिन अधिक महत्वपूर्ण रूप से आपके कोड को पढ़ने और बनाए रखना अधिक कठिन बनाते हैं।

+1

हम संकलन प्रक्रिया में कुछ अतिरिक्त CPU टिकों का भी उल्लेख कर सकते हैं। अधिक कोड - उत्तर देने के लिए – disorder

+0

अनुकूलित करने और संकलित करने के लिए अधिक समय की आवश्यकता है! क्या आपके पास इस जानकारी का स्रोत है जिसका मैं संदर्भ दे सकता हूं? (इस उत्तर के अलावा ...) –

+1

@EduardoBezerra आप बाइट सीड विनिर्देश से देख सकते हैं कि आयात का उपयोग नहीं किया जाता है ताकि वे रनटाइम पर प्रभाव डाल सकें। –

11

अप्रयुक्त आयातों का रनटाइम पर कोई प्रदर्शन प्रभाव नहीं पड़ता है। यह पूरी तरह से एक नामस्थान तंत्र है। फिर भी, आपको केवल वही आयात करना चाहिए जो आपको पठनीयता के लिए आवश्यक है और नेमस्पेस टकराव से बचें जो उपद्रव हैं।

कोड पठनीयता के अलावा और कोड की रखरखाव के अलावा, आयात को छेड़छाड़ करके जावा कोड (हालांकि, अनजान) का तेज़ संकलन हो सकता है, लेकिन रनटाइम प्रदर्शन प्रभावित नहीं होता है, क्योंकि बाइट कोड उत्पन्न असीमित आयात से प्रभावित नहीं होता है। उत्पन्न बाइट कोड वही रहता है।

+1

कृपया 'अप्रयुक्त आयात के लिए संदर्भ प्रदान करें कोई प्रदर्शन प्रभाव नहीं है' – RanRag

+1

अधिक सटीक होने के लिए, RUNTIME पर कोई प्रदर्शन प्रभाव नहीं पड़ता है। हालांकि, आयात की संख्या के आधार पर, संकलन धीमा हो सकता है हालांकि अनजान। – Frankline

+0

क्यों अनजान? निश्चित रूप से यह निर्भर करता है कि आप कितने संकलन कर रहे हैं? उदाहरण के लिए - हमारे पास एक सीआई बिल्ड सर्वर है जो लगातार कई परियोजनाओं को संकलित कर रहा है - इसलिए सबसे छोटे अनुकूलन को संकलन प्रदर्शन को थोड़ा बढ़ा देना चाहिए, है ना? – ryan

3

संकलन में प्रभाव कम है, लेकिन तैनाती में प्रभाव खराब हो सकता है, मैं अभी एक अप्रयुक्त आयात में आया हूं जिसके लिए एक अलग पुस्तकालय चुड़ैल एक मेवेन निर्भरता बन गया है, एक और संक्रमणीय निर्भरता समस्या आशाजनक नहीं मिली थी लेकिन युद्ध किसी भी कारण से मोटा था, उस वेबपेज क्लासलोडर में एक जबरदस्त जार जोड़ें।

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