Описание тега luajit

LuaJIT - это своевременный компилятор для языка программирования Lua. LuaJIT предлагает большую производительность за счет портативности. На поддерживаемых ОС (все популярные операционные системы на базе процессоров x86 или x64 (Windows, Mac OSX, Linux, ...), встроенные устройства на базе ARM (Android, iOS) и процессоры PPC/e500v2) он предлагает API- и ABI-совместимая замена стандартному интерпретатору Lua.

Обзор

LuaJIT - это высокопроизводительная реализация Just-In-Time(JIT) Майка Полла для языка программирования Lua. Он успешно используется в качестве промежуточного программного обеспечения для написания сценариев в играх, средствах трехмерного моделирования, численном моделировании, торговых платформах и многих других специализированных приложениях. Он сочетает в себе высокую гибкость с высокой производительностью и непревзойденно малым объемом памяти: менее 125 КБ для виртуальной машины (ВМ) плюс менее 85 КБ для JIT-компилятора (на x86).

LuaJIT находится в постоянном развитии с 2005 года. Он широко считается одной из самых быстрых реализаций динамического языка. С момента своего первого выпуска он превзошел другие динамические языки по многим межъязыковым тестам - часто с большим отрывом. В 2009 году другие виртуальные машины с динамическим языком начали догонять производительность LuaJIT 1.x. Что ж, я не мог допустить этого.;-)

2009 год также знаменует собой первый выпуск долгожданного LuaJIT 2.0. Вся виртуальная машина была переписана с нуля и постоянно оптимизирована для повышения производительности. Он сочетает в себе высокоскоростной интерпретатор, написанный на ассемблере, с современным JIT-компилятором. Инновационный компилятор трассировки интегрирован с усовершенствованной оптимизацией на основе SSA и хорошо настроенным сервером генерации кода. Это позволяет существенно снизить накладные расходы, связанные с функциями динамического языка.

Ему суждено выйти за пределы диапазона производительности, традиционно зарезервированного для автономных компиляторов статического языка.

Совместимость

LuaJIT реализует полный набор языковых функций, определенных Lua 5.1. Виртуальная машина совместима с API и ABI со стандартным интерпретатором Lua и может быть развернута в качестве замены.

LuaJIT предлагает большую производительность за счет портативности. В настоящее время он работает во всех популярных операционных системах на базе процессоров x86 или x64 (Linux, Windows, OSX и т. Д.) Или встроенных систем на базе процессоров ARM (Android, iOS) или PPC/e500v2. Другие платформы будут поддерживаться в будущем в зависимости от спроса пользователей и спонсорства.