Компиляция во время выполнения

Компиляция во время выполнения

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 Класс языка: му …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»