MSDN page से उद्धरित:
/अनुकूलन विकल्प सक्षम बनाता है या अपने आउटपुट फ़ाइल छोटे, तेज, और अधिक कुशल बनाने के संकलक द्वारा किया जाता अनुकूलन अक्षम करता है।
दूसरे शब्दों में, यह वही करता है जो आपको लगता है - यह संकलित सीआईएल (सामान्य इंटरमीडिएट भाषा) कोड को अनुकूलित करता है जो .NET VM द्वारा निष्पादित किया जाता है। मैं इस बारे में चिंता नहीं करता कि विशिष्ट अनुकूलन क्या हैं - यह कहने के लिए पर्याप्त है कि वे कई हैं, और शायद कुछ मामलों में काफी जटिल हैं। यदि आप वास्तव में रुचि रखते हैं कि यह किस प्रकार की चीजें करता है, तो आप शायद Mono C# Compiler की जांच कर सकते हैं (मुझे संदेह है कि एमएस सी # के बारे में विवरण सार्वजनिक हैं)।
डीबग कॉन्फ़िगरेशन के लिए डिफ़ॉल्ट रूप से कारण अनुकूलन अक्षम कर दिया गया है यह है कि यह कुछ डीबगिंग सुविधाओं को असंभव बनाता है। कुछ उल्लेखनीय लोगों:
- शायद सबसे महत्वपूर्ण बात है, संपादित करें और सुविधा जारी विकलांग है - यानी निष्पादन के दौरान कोई बदलाव कोड।
- ब्रेकिंग निष्पादन का अर्थ अक्सर कोड की गलत रेखा को हाइलाइट किया जाता है (आमतौर पर अपेक्षित एक के बाद)।
- अप्रयुक्त स्थानीय चर वास्तव में असाइन या घोषित नहीं किए जाते हैं।
वास्तव में, अनुकूलन के लिए डिफ़ॉल्ट विकल्प कभी भी बदला नहीं जाना चाहिए। डिबगिंग के लिए विकल्प बंद करना बेहद उपयोगी है, जबकि रिलीज मोड के लिए इसे चालू करना समान रूप से बुद्धिमान है।
मैं 11 जून को अपने ब्लॉग पर इस (अक्सर पूछे जाने वाले प्रश्न) का जवाब दे रहा हूं। –
http://blogs.msdn.com/ericlippert/archive/2009/06/11/what-does-the-optimize-switch-do.aspx –