Оглавление:
Определение - Что означает Just-In-Time (JIT)?
Just-in-time (JIT) - это термин, используемый для описания действия, такого как компиляция или активация объекта, только в тот момент, когда это становится необходимым. Этот термин в основном связан с компиляцией программного обеспечения. JIT-компиляция в основном предназначена для высокоскоростного выполнения кода и поддержки нескольких платформ.
JIT-компиляция возникла из-за необходимости, чтобы компилятор взял на себя ответственность в дополнение к простому преобразованию в объектный код (машинные инструкции) из языка высокого уровня. JIT-компиляторы облегчают переносимость на несколько операционных систем и аппаратных платформ. Такие языки, как Smalltalk, Pascal Java и C #, поддерживают компиляцию JIT.
Техопедия объясняет Just-In-Time (JIT)
Существует три типа JIT-компиляторов:
- Pre-JIT: Компилирует весь исходный код во время компиляции и используется во время развертывания.
- Econo-JIT: компилирует методы, которые вызываются во время выполнения.
- Normal-JIT: компилирует только методы, вызываемые во время выполнения (в момент их первого вызова), и сохраняет скомпилированный код в кеше для использования в последующих вызовах.
Недостатками использования JIT-компиляции являются дополнительное время запуска во время первого вызова, повышенное использование кэш-памяти и невозможность совместного использования кода несколькими процессами.
Компиляция с опережением времени (AOT) может решить проблемы, возникающие при компиляции JIT. Он предварительно компилирует весь образ промежуточного языка Microsoft в машинный код без необходимости компиляции во время выполнения и сохраняет скомпилированный код в файл на диске. Скомпилированный код используется только тогда, когда необходимо ускорить запуск приложения.
Адаптивная оптимизация - это альтернатива компиляции JIT, которая используется в Java.