मैं कुछ पोस्ट-बिल्ड सीआईएल बुनाई कर रहा हूं जो एक असेंबली में सभी तरीकों से सीआईएल जोड़ता है (दूसरे शब्दों में कई तरीकों से)। प्रत्येक विधि जांचता है कि कोई विशिष्ट मान शून्य है या नहीं। उदाहरण (सीआईएल कोड के सी # Reflector'd संस्करण):फील्ड बनाम गुणों का वास्तविक प्रदर्शन
// CIL woven region start
if (MyType.Something == null) {
// ... some new stuff
}
// CIL woven region end
MyType.Something एक फील्ड बनाम एक संपत्ति के रूप में होने के प्रदर्शन प्रभाव क्या है? मुझे पता है कि मैंने पढ़ा है कि सी # कंपाइलर विशेष अनुकूलन करता है और उस मामले में कोई प्रदर्शन प्रभाव नहीं होना चाहिए ... लेकिन सीआईएल कोड (सी # कंपाइलर) के मामले में क्या है ...? या यह जेआईटी कंपाइलर है जो इन अनुकूलन के लिए अनुमति देता है (इसलिए सीआईएल कोड अभी भी लाभ)?
ओपकोड उत्सर्जित करेगा। स्थिर संपत्ति के एक्सेसर के लिए कॉल एलडीएसएफल्ड की तुलना में गरीब प्रदर्शन है (ध्यान में रखते हुए यह हजारों आमंत्रणों में है क्योंकि असेंबली में हर विधि बुनाई जाती है)?
धन्यवाद।
क्या आप समझा सकते हैं कि आपने इसे लागू करने का निर्णय क्यों लिया? – Andrey
क्या लागू करें? – Jeff