Partage via


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.