मैं सोच रहा था कि अधिक गहन अनुकूलन के लिए प्राथमिकता निर्दिष्ट करके .NET JIT कंपाइलर के व्यवहार को बदलने का कोई तरीका है या नहीं। यह विफल होने पर, यह अच्छा होगा अगर यह किसी प्रकार का प्रोफाइल-निर्देशित अनुकूलन कर सकता है, अगर यह पहले से नहीं है।क्या संकलन समय पर प्रदर्शन के पक्ष में .NET JIT कंपाइलर को बदलने का कोई तरीका है?
उत्तर
यह सेट है जब आप अपनी असेंबली संकलित करते हैं।
- आईएल अनुकूलन
- JIT मूल कोड गुणवत्ता: वहाँ अनुकूलन के दो प्रकार हैं।
डिफ़ॉल्ट सेटिंग इस
/optimize- /debug-
इसका मतलब यह है unoptimized आईएल है, और मूल कोड अनुकूलित।
/optimize /debug(+/full/pdbonly)
इसका मतलब है आईएल unoptimized, और मूल कोड unoptimized (सर्वोत्तम डीबग सेटिंग्स)।
/optimize+ /debug(-/+/full/pdbonly)
यह आईएल अनुकूलित और मूल कोड अनुकूलित उत्पादन:
अंत में, सबसे तेजी से प्रदर्शन मिलता है।
जब unoptimized आईएल उत्पादन, संकलक पूरे कोड पर एनओपी निर्देश डालेंगे। यह नियंत्रण प्रवाह निर्देशों जैसे ब्रेकपॉइंट्स को सेट फ्लो निर्देशों पर सेट करने के लिए कोड को आसान बनाता है जैसे कि, जबकि, यदि, अन्यथा, कोशिश करें, पकड़ें आदि
सीएलआर कोड को अनुकूलित करने का उल्लेखनीय रूप से अच्छा काम करता है। एक बार एक विधि JIT'ed है, कॉल या कॉलवर्ट निर्देश पर पॉइंटर सीधे देशी कोड पर इंगित किया जाता है।
इसके अतिरिक्त, सीएलआर आपके कोड को JIT'ing करते समय उपलब्ध किसी भी आर्किटेक्चर चाल का लाभ उठाएगा। इसका मतलब यह है कि जेआईटी के माध्यम से चलने वाली एक असेंबली एनजेन (थोड़ा हल्का स्टार्ट अप समय के साथ) द्वारा प्री-संकलित असेंबली की तुलना में तेजी से चलती है, क्योंकि एनजीन सभी प्लेटफार्मों के लिए संकलित होगा, और किसी भी चाल का लाभ नहीं उठाएगा।
- 1. क्या किसी अन्य विधि को चलाने में .NET JIT कंपाइलर को ट्रिक करने का कोई तरीका है?
- 2. क्या JDialog के मालिक को बदलने का कोई तरीका है?
- 3. जावा कंपाइलर के मल्टीकोर/मल्टीप्रोसेसर प्रदर्शन को बेहतर बनाने का कोई तरीका है?
- 4. क्या संकलन-समय पर बुलाए जाने वाले तरीके को रोकने का कोई तरीका है?
- 5. एप्लिकेशन के दौरान सबसे अनुकूलित कोड उत्पन्न करने के लिए .NET JIT कंपाइलर को मजबूर करना
- 6. क्या विजुअल स्टूडियो 2005 के 3.5 के .NET फ्रेमवर्क संस्करण को बदलने का कोई तरीका है?
- 7. क्या आईओएस सिम्युलेटर (मैक सेटिंग्स बदलने के अलावा) पर देखी गई तिथि/समय को बदलने का कोई तरीका है?
- 8. .NET में, जीआईटी समय के बजाय संकलन समय पर स्थिरांक का मूल्यांकन क्यों किया जाता है?
- 9. क्या कोड पर क्लोजर कंपाइलर (या जैसा) प्रभाव को उलटाने का कोई तरीका है?
- 10. क्या .NET mvc bin dir स्थान को बदलने का कोई तरीका है?
- 11. क्या लुसीन में टर्म स्थिति के आधार पर स्कोरिंग बदलने का कोई तरीका है?
- 12. क्या नेट जेआईटी या सी # कंपाइलर को खाली फॉर-लूप को अनुकूलित करने का कोई तरीका है?
- 13. क्या एएमडी ओपनसीएल कर्नेल में कंपाइलर के साथ लूप को अनलॉक करने का कोई तरीका है?
- 14. क्या विंडोज़ पर लिंक समय पर मॉलोक को फिर से परिभाषित करने का कोई तरीका है?
- 15. कंपाइलर प्रदर्शन पर हाइपरथ्रेडिंग का प्रभाव?
- 16. क्या 400/500 स्टेटस कोड पर HttpWebRequest व्यवहार को बदलने का कोई तरीका है?
- 17. क्या रूबी .NET कंपाइलर है?
- 18. भागो समय वी.एस. संकलन समय (.NET)
- 19. क्या विजुअल स्टूडियो में इंटेलिसेन्स में सूचीबद्ध रचनाकारों के क्रम को बदलने का कोई तरीका है?
- 20. क्या एक्सकोड 4 में अंगूठे के बजाय एआरएम के लिए संकलन करने का कोई तरीका है?
- 21. क्या यह जानने का कोई तरीका है कि किस कंपाइलर ने स्थिर पुस्तकालय बनाया है?
- 22. क्या आईफोन में इंटरफेस अभिविन्यास को बदलने के लिए मजबूर करने का कोई तरीका है?
- 23. क्या "ऑब्जेक्ट.फ्रोज़न" ऑब्जेक्ट को बदलने के लिए कोई प्रयास करने पर कोई चेतावनी फेंकने का कोई तरीका है?
- 24. क्या स्रोत कोड को वापस CodeCompileUnit में बदलने का कोई मौजूदा तरीका है?
- 25. क्या बूस्ट में compress_matrix को गतिशील रूप से बदलने का कोई प्रभावी तरीका है?
- 26. जावा संकलन - क्या मेरे कोड के हिस्सों को अनदेखा करने के लिए संकलक को बताने का कोई तरीका है?
- 27. .NET JIT- संकलित कोड कैश किया गया है?
- 28. क्या बहुत सारे नियंत्रण वाले फॉर्म पर टैबिन्डेक्स को बदलने का कोई तेज़ तरीका है?
- 29. क्या स्ट्रक्चर टाइमवल को स्ट्रक्चर टाइमपेक में बदलने का कोई मानक तरीका है?
- 30. क्या wpf में बाइंडिंग के डिफ़ॉल्ट व्यवहार को वैश्विक रूप से बदलने का कोई तरीका है?
+1 अच्छा। आईडीई में वास्तव में आप इन मानों को सेट करते हैं? – Trap
वीएस -2010 (और पुराने संस्करण आईआईआरसी) में, "ऑप्टिमाइज़ कोड" प्रोजेक्ट सेटिंग सक्षम करें, जो रिलीज कॉन्फ़िगरेशन में डिफ़ॉल्ट रूप से चालू है। (यह '/ optimize' के समतुल्य है, जो'/optimize + 'के समतुल्य है।) ध्यान दें कि अनुकूलक [बिल्कुल सही] है (http://stackoverflow.com/questions/10369421/why-does-adding-local -variables-मेक-नेट-कोड-धीमी)। –
कोई प्रति मशीन चाल नहीं है, AFAIK। मुझे बताया गया है कि .NET टीम ने महसूस किया कि जेआईटी अनुकूलक (जो एक बहुत जटिल जानवर है) के कई संस्करणों को बनाए रखना संभावित लाभ की तुलना में बहुत महंगा था। –