Share via


Optimieren von AOT-Bereitstellungen

Der native AOT-Veröffentlichungsprozess generiert eine eigenständige ausführbare Datei mit einer Teilmenge der Laufzeitbibliotheken, die speziell für Ihre App angepasst sind. Die Kompilierung basiert in der Regel auf der statischen Analyse der Anwendung, um die bestmögliche Ausgabe zu generieren. Der Begriff „bestmöglich“ kann jedoch viele Bedeutungen haben. Manchmal können Sie die Ausgabe der Kompilierung verbessern, indem Sie Hinweise zum Veröffentlichungsprozess bereitstellen.

Optimieren für Größe oder Geschwindigkeit

Während der Kompilierung trifft der Veröffentlichungsprozess Entscheidungen und Kompromisse zwischen der Generierung der theoretisch schnellstmöglichen ausführbaren Datei und der Größe der ausführbaren Datei. Standardmäßig wählt der Compiler einen gemischten Ansatz: Schnellen Code generieren, aber auf die Größe der Anwendung achten.

Die MSBuild-Eigenschaft <OptimizationPreference> kann verwendet werden, um ein allgemeines Optimierungsziel anstelle des gemischten Standardansatzes zu kommunizieren:

<OptimizationPreference>Size</OptimizationPreference>

Das Festlegen von OptimizationPreference auf Size weist den Veröffentlichungsprozess an, der Größe der ausführbaren Datei vor anderen Leistungsmetriken den Vorzug zu geben. Es wird erwartet, dass die App kleiner ist, aber andere Leistungsmetriken können betroffen sein.

<OptimizationPreference>Speed</OptimizationPreference>

Das Festlegen von OptimizationPreference auf Speed weist den Veröffentlichungsprozess an, die Codeausführungsgeschwindigkeit zu bevorzugen. Es wird erwartet, dass der Spitzendurchsatz der App höher ist, aber andere Leistungsmetriken könnten betroffen sein.

Weitere Optionen zur Größenoptimierung

Da native AOT-Bereitstellungen mit Kürzungen verbunden sind, kann die Größe der Anwendung durch Angabe weiterer Kürzungsoptionen noch mehr verringert werden. Im Abschnitt Kürzen von Frameworkbibliotheksfeatures wird beispielsweise erläutert, wie Bibliotheksfeatures wie die Globalisierung deaktiviert werden.