Optymalizowanie wdrożeń usługi AOT

Natywny proces publikowania AOT generuje samodzielny plik wykonywalny z podzbiorem bibliotek środowiska uruchomieniowego dostosowanych specjalnie do aplikacji. Kompilacja zwykle opiera się na statycznej analizie aplikacji w celu wygenerowania najlepszych możliwych danych wyjściowych. Jednak termin "najlepszy możliwy" może mieć wiele znaczenia. Czasami można ulepszyć dane wyjściowe kompilacji, podając wskazówki dotyczące procesu publikowania.

Optymalizowanie pod kątem rozmiaru lub szybkości

Podczas kompilacji proces publikowania podejmuje decyzje i kompromisy między generowaniem teoretycznie najszybszego pliku wykonywalnego a rozmiarem pliku wykonywalnego. Domyślnie kompilator wybiera podejście mieszane: generowanie szybkiego kodu, ale należy pamiętać o rozmiarze aplikacji.

Właściwość <OptimizationPreference> MSBuild może służyć do przekazywania ogólnego celu optymalizacji zamiast podejścia domyślnego mieszanego:

<OptimizationPreference>Size</OptimizationPreference>

Ustawienie OptimizationPreference polecenia Size instruuje proces publikowania, aby faworyzował rozmiar pliku wykonywalnego zamiast innych metryk wydajności. Oczekuje się, że rozmiar aplikacji będzie mniejszy, ale mogą mieć wpływ inne metryki wydajności.

<OptimizationPreference>Speed</OptimizationPreference>

Ustawienie polecenia OptimizationPreferenceSpeed powoduje, że proces publikowania sprzyja szybkości wykonywania kodu. Oczekuje się, że szczytowa przepływność aplikacji będzie wyższa, ale mogą mieć wpływ na inne metryki wydajności.

Dalsze opcje optymalizacji rozmiaru

Ponieważ wdrożenia natywnego rozwiązania AOT oznaczają użycie przycinania, możliwe jest dalsze zwiększenie rozmiaru aplikacji przez określenie większej liczby opcji przycinania. Na przykład w sekcji Funkcje biblioteki struktury przycinania omówiono sposób wyłączania funkcji biblioteki, takich jak globalizacja.