Поделиться через


Оптимизация развертываний AOT

Процесс публикации AOT в машинном коде создает автономный исполняемый файл с подмножеством библиотек среды выполнения, которые специально предназначены для вашего приложения. Компиляция обычно использует статический анализ приложения, чтобы создать наилучшие возможные выходные данные. Однако термин "лучше всего" может иметь много значений. Иногда можно улучшить выходные данные компиляции, предоставив указания процессу публикации.

Оптимизация размера или скорости

Во время компиляции процесс публикации принимает решения и компромиссы между созданием теоретически наиболее быстрого исполняемого файла и размером исполняемого файла. По умолчанию компилятор выбирает смешанный подход: создает быстрый код, но учитывайте размер приложения.

Свойство <OptimizationPreference> MSBuild можно использовать для обмена общими целями оптимизации вместо смешанного подхода по умолчанию:

<OptimizationPreference>Size</OptimizationPreference>

Параметр OptimizationPreference , который Size указывает процессу публикации использовать размер исполняемого файла, а не другие метрики производительности. Ожидается, что размер приложения меньше, но могут повлиять другие метрики производительности.

<OptimizationPreference>Speed</OptimizationPreference>

Параметр, OptimizationPreference который Speed указывает процессу публикации на пользу скорости выполнения кода. Ожидается, что пиковая пропускная способность приложения будет выше, но могут повлиять на другие метрики производительности.

Дополнительные параметры оптимизации размера

Так как развертывания AOT в машинном коде подразумевают использование обрезки, можно дополнительно улучшить размер приложения, указав дополнительные параметры обрезки. Например, раздел "Функции библиотеки trimming framework" описывает, как отключить такие функции библиотеки, как глобализация.