c# - will declaring variables inside sub-blocks improve performance? -
सी # में, निम्न तीन विकल्पों की तुलना करते समय प्रदर्शन में कोई अंतर होगा?
एक
शून्य से एक (int x) {if (x == 10) {int y = 20; Int z = 30; // अन्य सामान} अन्य {// अन्य सामान}}
दो
शून्य से दो (int x) {Int y; Int z; यदि (x == 10) {y = 20; Z = 30; // अन्य सामान} और {// अन्य सामान}}
तीन
तीन शून्य (int x) {Int y = 20; Int z = 30; यदि (x == 10) {// अन्य सामान} अन्य {// अन्य सामान}}
सब कुछ बराबर ( और वे आम तौर पर नहीं हैं, यही वजह है कि आपको सामान्यतः इसका परीक्षण करना है ), ONE ()
और दो ()
उसी आईएल निर्देश जनरेट करना चाहिए, क्योंकि स्थानीय चर को पूरी पद्धति में स्कॉच किया गया है। तीन ()
धीमा हो जाएगा x == 10
क्योंकि दो अन्य स्थानीय चर में मूल्यों को स्टोर करने के लिए परेशान नहीं करेंगे।
सभी तीन ही स्मृति की मात्रा लेते हैं- सभी चर के लिए स्मृति उन्हें आवंटित की जाती है, भले ही उनके पास कुछ भी नहीं जमा हो। JIT कंपाइलर यहां एक अनुकूलन का प्रदर्शन कर सकता है, यद्यपि, अगर यह कभी अप्रयुक्त वैरिएबल के लिए देखता है।
Comments
Post a Comment