Optimiser les déploiements AOT
Le processus de publication AOA natif génère un exécutable autonome avec un sous-ensemble des bibliothèques runtime adaptées spécifiquement à votre application. La compilation s’appuie généralement sur l’analyse statique de l’application pour générer la meilleure sortie possible. Toutefois, les termes « meilleure sortie possible » peuvent avoir de nombreuses significations. Parfois, vous pouvez améliorer la sortie de la compilation en fournissant des conseils au processus de publication.
Optimiser la taille ou la vitesse
Pendant la compilation, le processus de publication prend des décisions et fait des compromis entre la génération de l’exécutable le plus rapide possible en théorie et la taille de l’exécutable. Par défaut, le compilateur choisit une approche mixte : générer du code rapide, tout en gardant à l’esprit la taille de l’application.
La propriété MSBuild <OptimizationPreference>
peut être utilisée pour communiquer un objectif d’optimisation général au lieu de l’approche fusionnée par défaut :
<OptimizationPreference>Size</OptimizationPreference>
La définition de OptimizationPreference
sur Size
indique au processus de publication de privilégier la taille de l’exécutable plutôt que d’autres métriques de performances. La taille de l’application devrait être plus petite, mais d’autres métriques de performances peuvent être affectées.
<OptimizationPreference>Speed</OptimizationPreference>
La définition de OptimizationPreference
sur Speed
indique au processus de publication de favoriser la vitesse d’exécution du code. Le débit maximum de l’application devrait être plus élevé, mais d’autres métriques de performances peuvent être affectées.
Autres options d’optimisation de la taille
Étant donné que les déploiements AOA natifs impliquent l’utilisation du découpage, il est possible d’améliorer davantage la taille de l’application en spécifiant d’autres options de découpage. Par exemple, la section Fonctionnalités de la bibliothèque du framework Trim explique comment désactiver des fonctionnalités de la bibliothèque telles que la globalisation.