citado del MSDN page:
La opción/Optimizar habilita o deshabilita optimizaciones realizadas por el compilador para hacer su archivo de salida más pequeño, más rápido y más eficiente.
En otras palabras, hace exactamente lo que crees que haría: optimiza el código compilado CIL (Common Intermediate Language) que se ejecuta en .NET VM. No me preocuparía cuáles son las optimizaciones específicas; baste decir que son muchas, y probablemente bastante complejas en algunos casos. Si está realmente interesado en qué tipo de cosas hace, probablemente podría investigar el Mono C# Compiler (dudo que los detalles sobre el MS C# sean públicos).
La optimización de la razón está deshabilitada de forma predeterminada para La configuración de la depuración es que hace que ciertas funciones de depuración sean imposibles. Algunas de las más notables:
- Tal vez lo más importante, la Editar y continuar función está desactivada - es decir, no hay código de modificación durante la ejecución.
- La ejecución de ejecución a menudo significa que se resalta la línea de código incorrecta (por lo general, la que está después de la esperada).
- Las variables locales no utilizadas en realidad no están asignadas o incluso declaradas.
Realmente, las opciones predeterminadas para la optimización nunca deberían cambiarse. Tener la opción desactivada para la depuración es muy útil, mientras que tenerlo activado para el modo de lanzamiento es igualmente acertado.
Estaré respondiendo a esta pregunta (¡con frecuencia!) En mi blog el 11 de junio. –
http://blogs.msdn.com/ericlippert/archive/2009/06/11/what-does-the-optimize-switch-do.aspx –