Компиляция во время выполнения
- Компиляция во время выполнения
-
Just-in-time compilation (JIT) (также известна как dynamic translation) — компиляция «на лету» — это технология увеличения производительности программных систем, использующих байт-код, путём трансляции байт-кода в машинный код непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения (сравнимая с компилируемыми языками) за счёт увеличения потребления памяти (для хранения результатов компиляции) и затрат времени на компиляцию. JIT базируется на двух более ранних идеях, касающихся среды исполнения: компиляции байт-кода и динамической компиляции.
В языках, компилирующихся в байт-код, таких как Perl, GNU CLISP или байт-код. Байт-код не является машинным кодом какого-либо компьютера и может портироваться на различные компьютерные архитектуры. Байт-код интерпретируется (исполняется) виртуальной машиной.
JIT используется в реализациях Microsoft .NET. Языки Python и подобные имеют ограниченные или неполные JIT.
Проект libJIT, которая предоставляет возможность привести JIT в любой скриптовой язык. Проекты LLVM и GNU Lightning также могут быть использованы для создания JIT.
См. также
Ссылки
Wikimedia Foundation.
2010.
Полезное
Смотреть что такое "Компиляция во время выполнения" в других словарях:
AOT-компиляция — Ahead of Time (AOT) компилятор это вид компилятора, который использует метод Ahead of Time Compilation (компиляция перед исполнением). Применяется при компиляции в «промежуточные» языки, такие как байт код Java, .NET Common Intermediate… … Википедия
JIT-компиляция — Just in time compilation (JIT, компиляция «на лету»), dynamic translation (динамическая компиляция) технология увеличения производительности программных систем, использующих байт код, путём компиляции байт кода в машинный код… … Википедия
Динамическая компиляция — Just in time compilation (JIT) (также известна как dynamic translation) компиляция «на лету» это технология увеличения производительности программных систем, использующих байт код, путём трансляции байт кода в машинный код непосредственно во… … Википедия
Katahdin — Семантика: императивный, объектно ориентированный, duck typed, языково ориентированный Тип исполнения: интерпретатор Появился в: 2007 … Википедия
Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г … Википедия
Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Условные обозначения … Википедия
Сравнение C Sharp и Java — Правильный заголовок этой статьи Сравнение C# и Java. Он показан некорректно из за технических ограничений. Сравнения языков программирования Общее сравнение Основной синтаксис Основные инструкции Массивы Ассоциативные массивы Операции со… … Википедия
Harbour — Project Класс языка: императивный, структурированный, объектно ориентированный Автор(ы): Antonio Linares Релиз: 3.0.0 Тестовая версия … Википедия
Интерпретируемый язык программирования — язык программирования, в котором исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы интерпретатора. В… … Википедия
Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му … Википедия