Compartir a través de


Optimización de implementaciones de AOT

El proceso de publicación de AOT nativo genera un ejecutable independiente con un subconjunto de las bibliotecas en tiempo de ejecución que se adaptan específicamente a la aplicación. La compilación generalmente se basa en el análisis estático de la aplicación para generar la mejor salida posible. Sin embargo, el término "mejor posible" puede tener muchas interpretaciones. A veces, para mejorar la salida de la compilación puede proporcionar sugerencias para el proceso de publicación.

Optimización del tamaño o la velocidad

Durante la compilación, el proceso de publicación debe decidir entre generar el ejecutable teóricamente más rápido posible y el tamaño del mismo. De forma predeterminada, el compilador elige un enfoque combinado: generar código rápido, pero teniendo en cuenta el tamaño de la aplicación.

La propiedad <OptimizationPreference> de MSBuild se puede usar para comunicar un objetivo de optimización general en lugar del enfoque predeterminado combinado:

<OptimizationPreference>Size</OptimizationPreference>

Si se establece OptimizationPreference en Size se indica al proceso de publicación que favorezca el tamaño del archivo ejecutable en lugar de otras métricas de rendimiento. Se espera que el tamaño de la aplicación sea menor, pero es posible que se vean afectadas otras métricas de rendimiento.

<OptimizationPreference>Speed</OptimizationPreference>

Si se establece OptimizationPreference en Speed se indica al proceso de publicación que favorezca la velocidad de ejecución del código. Se espera que el pico de rendimiento sea mayor, pero es posible que se vean afectadas otras métricas de rendimiento.

Opciones adicionales de optimización de tamaño

Dado que las implementaciones de AOT nativas implican el uso del recorte, es posible mejorar aún más el tamaño de la aplicación especificando más opciones de recorte. Por ejemplo, en la sección Características de recorte de bibliotecas de marco de trabajo se describe cómo deshabilitar las funcionalidades de las bibliotecas, como la globalización.