Почему LuaJIT так хорош? - программирование
Подтвердить что ты не робот

Почему LuaJIT так хорош?

EDIT: к сожалению, LuaJIT был выведен из сравнения в приведенной ниже ссылке.

Этот сравнение языков программирования показывает, что LuaJIT имеет более чем десятикратное улучшение по сравнению с обычной реализацией Lua. Почему изменение настолько велико? Есть ли что-то конкретное в Lua, которое делает его полезным для компиляции JIT? Python динамически типизируется и компилируется в байт-код, так почему же PyPy (который, как мне кажется, JIT) показывает такой большой скачок производительности?

4b9b3361

Ответ 1

Майк Палл говорил об этом в нескольких местах:

Как и в каждой системе исполнителей, ответ в итоге сводится к двум вещам: алгоритмам и инженерным. LuaJIT использует передовые методы компиляции, а также имеет очень тонко разработанную реализацию. Например, когда причудливые методы компиляции не могут обрабатывать кусок кода, LuaJIT возвращается к очень быстрому интерпретатору, написанному на сборке x86.

LuaJIT получает двойные точки в техническом аспекте, потому что LuaJIT не только хорошо спроектирован, но и сам язык Lua имеет более простой и более согласованный дизайн, чем Python и JavaScript. Это делает его (незначительно) проще для реализации, чтобы обеспечить стабильно хорошую производительность.