Condividi tramite


Ottimizzare le distribuzioni AOT

Il processo di pubblicazione AOT nativo genera un eseguibile autonomo con un subset delle librerie di runtime personalizzate appositamente per l'app. La compilazione si basa in genere sull'analisi statica dell'applicazione per generare il miglior output possibile. Tuttavia, il termine "migliore possibile" può avere molti significati. In alcuni casi, è possibile migliorare l'output della compilazione fornendo suggerimenti al processo di pubblicazione.

Ottimizzare le dimensioni o la velocità

Durante la compilazione, il processo di pubblicazione prende decisioni e compromessi tra la generazione del file eseguibile teoricamente più veloce possibile e le dimensioni del file eseguibile. Per impostazione predefinita, il compilatore sceglie un approccio misto: generare codice rapido, ma tenere presente le dimensioni dell'applicazione.

La proprietà <OptimizationPreference> MSBuild può essere usata per comunicare un obiettivo di ottimizzazione generale anziché l'approccio predefinito misto:

<OptimizationPreference>Size</OptimizationPreference>

L'impostazione di OptimizationPreference su Size indica al processo di pubblicazione di favorire le dimensioni del file eseguibile anziché altre metriche delle prestazioni. Si prevede che le dimensioni dell'app siano inferiori, ma potrebbero essere interessate altre metriche delle prestazioni.

<OptimizationPreference>Speed</OptimizationPreference>

L'impostazione di OptimizationPreference su Speed indica al processo di pubblicazione di favorire la velocità di esecuzione del codice. Si prevede che la velocità effettiva massima dell'app sia superiore, ma potrebbero essere interessate altre metriche delle prestazioni.

Opzioni di ottimizzazione delle dimensioni aggiuntive

Poiché le distribuzioni AOT native implicano l'uso del taglio, è possibile migliorare ulteriormente le dimensioni dell'applicazione specificando più opzioni di taglio. Ad esempio, la sezione Funzionalità della libreria del framework Trim illustra come disabilitare le funzionalità della libreria, ad esempio, la globalizzazione.