c# अप्रयुक्त उपयोग निर्देश द्वारा प्रदर्शन को कैसे प्रभावित किया जाता है?




.net visual-studio (5)

नहीं, यह सिर्फ एक संकलन-समय / कोडिंग शैली की बात है। .NET बाइनरी हुड के तहत पूरी तरह से योग्य नामों का उपयोग करते हैं।

जब भी आप कोई नया पृष्ठ या प्रोजेक्ट बनाते हैं तो विजुअल स्टूडियो स्वचालित रूप से आपके लिए कथन का उपयोग करेगा। इनमें से कुछ आप कभी भी उपयोग नहीं करेंगे।

विजुअल स्टूडियो में "अप्रयुक्त उपयोग को हटाने" के लिए उपयोगी सुविधा है।

मुझे आश्चर्य है कि प्रोग्राम प्रदर्शन पर कोई नकारात्मक प्रभाव पड़ता है यदि उपयोग किए जाने वाले कथन जो कभी भी एक्सेस नहीं किए जाते हैं, फ़ाइल के शीर्ष पर उल्लिखित रहते हैं।


नहीं, प्रोग्राम को संकलित करते समय कई प्रक्रियाएं शामिल हैं। जब संकलक संदर्भों (कक्षाओं, विधियों) की तलाश करना शुरू करता है तो यह केवल कोड पर उपयोग किए जाने वाले लोगों का उपयोग करेगा। उपयोग निर्देश केवल संकलक को कहता है कि कहां देखना है। बहुत सारे अप्रयुक्त उपयोग कथन में शायद एक प्रदर्शन समस्या हो सकती है लेकिन केवल संकलन समय पर। रनटाइम पर, सभी बाहरी कोड बाइनरी के हिस्से के रूप में ठीक से जुड़े या शामिल होते हैं।


एक अप्रयुक्त उपयोग का आपके आवेदन के रनटाइम प्रदर्शन पर कोई प्रभाव नहीं पड़ता है।

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

यह उसी कारण से डीबगर में अभिव्यक्तियों का मूल्यांकन करने के प्रदर्शन को भी प्रभावित कर सकता है।


कोड जो निष्पादित नहीं करता है, किसी प्रोग्राम के प्रदर्शन को प्रभावित नहीं करता है।


निम्न लिंक अप्रयुक्त संदर्भों को हटाने के लिए एक अच्छा पठन बताता है कि एप्लिकेशन से अप्रयुक्त संदर्भों को हटाने के लिए यह उपयोगी कैसे होता है।

लिंक से कुछ अंश नीचे दिए गए हैं:

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

  2. किसी भी अप्रयुक्त संदर्भ को हटाने का एक अन्य लाभ यह है कि आप नामस्थानों के साथ संघर्ष के जोखिम को कम कर देंगे। उदाहरण के लिए, यदि आपके पास System.Drawing दोनों हैं। System.Drawing और System.Drawing System.Web.UI.WebControls संदर्भित, आप पाएंगे कि Image वर्ग का संदर्भ देने का प्रयास करते समय आपको संघर्ष मिलते हैं। यदि आप अपनी कक्षा में निर्देशों का उपयोग कर रहे हैं जो इन संदर्भों से मेल खाते हैं, तो संकलक यह नहीं बता सकता कि इनमें से किस का उपयोग करना है। यदि आप नियमित रूप से विकास करते समय स्वत: पूर्ण उपयोग करते हैं, तो अप्रयुक्त नामस्थानों को हटाकर आपके टेक्स्ट एडिटर में स्वत: पूर्णता मानों की संख्या कम हो जाएगी।





using