Оглавление
Заблаговременная компиляция
-
Основы компиляции
- AOT-компиляция – это процесс компиляции более высокого уровня в более низкий уровень перед выполнением программы.
- AOT часто используется для уменьшения времени выполнения программы.
- Компиляция AOT часто противопоставляется компиляции “точно в срок” (JIT).
-
Применение AOT
- AOT может использоваться для компиляции языков программирования, таких как C или C++, в машинный код.
- AOT также применяется для компиляции байт-кода Java или CIL в машинный код.
- Некоторые научные статьи используют AOT для обозначения процесса компиляции байт-кода Java в C.
- Angular использует AOT для преобразования HTML-шаблонов и TypeScript в JavaScript.
-
Преимущества AOT
- AOT устраняет необходимость в компиляции во время выполнения, что может повысить производительность.
- AOT позволяет удалить часть среды выполнения, экономя ресурсы.
- AOT полезен во встроенных и мобильных устройствах.
-
Недостатки AOT
- AOT не может выполнять некоторые оптимизации, доступные в JIT.
- AOT должен быть скомпилирован для конкретной архитектуры, в то время как JIT может адаптироваться к процессору.
- JIT может оптимизировать “горячий” код, в то время как AOT должен выводить больше информации.
-
Компромиссы хранения
- AOT генерирует код, который не может быть динамически адаптирован к изменениям в среде выполнения.
-
Ссылки и рекомендации
- В статье приведены ссылки на различные компиляторы и статьи, связанные с AOT-компиляцией.
Полный текст статьи: