Ответ 1
Майк Палл говорил об этом в нескольких местах:
- http://article.gmane.org/gmane.comp.lang.lua.general/58908
- http://lambda-the-ultimate.org/node/3851
- http://www.reddit.com/user/mikemike
Как и в каждой системе исполнителей, ответ в итоге сводится к двум вещам: алгоритмам и инженерным. LuaJIT использует передовые методы компиляции, а также имеет очень тонко разработанную реализацию. Например, когда причудливые методы компиляции не могут обрабатывать кусок кода, LuaJIT возвращается к очень быстрому интерпретатору, написанному на сборке x86.
LuaJIT получает двойные точки в техническом аспекте, потому что LuaJIT не только хорошо спроектирован, но и сам язык Lua имеет более простой и более согласованный дизайн, чем Python и JavaScript. Это делает его (незначительно) проще для реализации, чтобы обеспечить стабильно хорошую производительность.