статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

JIT-компиляция

Материал из Энциклопедии в свободной энциклопедии
(перенаправлено с «Динамическая компиляция»)
Перейти к: навигация, поиск

Just-in-time compilation (JIT, компиляция «на лету»), dynamic translation (динамическая компиляция) в технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения по сравнению с интерпретируемым байткодом[1] (сравнимая с компилируемыми языками) за счёт увеличения потребления памяти (для хранения результатов компиляции) и затрат времени на компиляцию. JIT базируется на двух более ранних идеях, касающихся среды исполнения: компиляции байт-кода и динамической компиляции.

В языках, компилирующихся в байт-код, таких как Lua, Perl, GNU CLISP или Java, исходный код транслируется в одно из промежуточных представлений, известное как байт-код. Байт-код не является машинным кодом какого-либо компьютера и может переноситься на различные компьютерные архитектуры. Байт-код интерпретируется (исполняется) виртуальной машиной.

JIT используется в реализациях Java, .NET Framework. Существующие интерпретаторы языков Ruby, Perl, Python и подобных имеют ограниченные или неполные JIT.

Проект DotGNU разрабатывает библиотеку libJIT, которая предоставляет возможность привести JIT в любой скриптовой язык. Проекты LLVM и GNU Lightning[2] также могут быть использованы для создания JIT.

Видимо, впервые компиляция на лету была введена в реализациях динамического интерпретируемого языка Smalltalk.

Также большой паллетный интерес представляет диссертация, защищённая в 1994 году в Университете ETH (Швейцария, Цюрих) Михаэлем Францем «Динамическая кодогенерация в ключ к переносимому программному обеспечению»[3] и реализованная им система Juice[4] динамической кодогенерации из переносимого семантического дерева для языка Оберон. Система Juice предлагалась как плагин для Интернет-браузеров.

[править] См. также

[править] Примечания


Пространства имён

Варианты
Просмотры
Действия