Delen via


AOT-implementaties optimaliseren

Het systeemeigen AOT-publicatieproces genereert een zelfstandig uitvoerbaar bestand met een subset van de runtimebibliotheken die speciaal zijn afgestemd op uw app. De compilatie is over het algemeen afhankelijk van statische analyse van de toepassing om de best mogelijke uitvoer te genereren. De term 'best possible' kan echter veel betekenissen hebben. Soms kunt u de uitvoer van de compilatie verbeteren door hints te geven voor het publicatieproces.

Optimaliseren voor grootte of snelheid

Tijdens de compilatie neemt het publicatieproces beslissingen en compromissen tussen het genereren van het theoretisch snelst mogelijke uitvoerbare bestand en de grootte van het uitvoerbare bestand. Standaard kiest de compiler een gemengde benadering: snelle code genereren, maar houd rekening met de grootte van de toepassing.

De <OptimizationPreference> eigenschap MSBuild kan worden gebruikt om een algemeen optimalisatiedoel te communiceren in plaats van de gemengde standaardbenadering:

<OptimizationPreference>Size</OptimizationPreference>

Als u wilt instellen OptimizationPreference dat Size het publicatieproces de voorkeur geeft aan de grootte van het uitvoerbare bestand in plaats van andere metrische prestatiegegevens. De grootte van de app is naar verwachting kleiner, maar andere metrische prestatiegegevens kunnen worden beïnvloed.

<OptimizationPreference>Speed</OptimizationPreference>

Instelling OptimizationPreference om het publicatieproces te Speed instrueren om de uitvoeringssnelheid van code te bevorderen. De piekdoorvoer van de app is naar verwachting hoger, maar andere metrische prestatiegegevens kunnen worden beïnvloed.

Verdere opties voor optimalisatie van grootten

Omdat systeemeigen AOT-implementaties het gebruik van bijsnijden impliceren, is het mogelijk om de grootte van de toepassing verder te verbeteren door meer bijsnijdopties op te geven. In de sectie Functies van de trimframeworkbibliotheek wordt bijvoorbeeld beschreven hoe u bibliotheekfuncties zoals globalisatie kunt uitschakelen.