Комментарии 10
В презентации с HighLoad++ у вас описан проект с 6M RPS. Не скажете на какой аппаратной конфигурации и с каким протокольным стэком работает?
Eщё один вопрос, можно ли использовать как drop-in-replacement для Lua/LuaJIT (в плане C API)?
Eщё один вопрос, можно ли использовать как drop-in-replacement для Lua/LuaJIT (в плане C API)?
Виртуальные машины в GCE и AWS, на каждой запущен многопоточный HTTP-сервер приложений (написан на C++) со встроенной LuaVela, исполняющей логику на Lua. Виртуальные машины с серверами приложений сидят за балансировщиками.
Да, в плане C API можно использовать как drop-in-replacement для Lua/LuaJIT: и набор, и семантика API сохранены.
Да, в плане C API можно использовать как drop-in-replacement для Lua/LuaJIT: и набор, и семантика API сохранены.
Вернулся, что-бы сам ответить на свой последний вопрос. Но вы уже ответили.
EDIT: один момент, есть: в инклудах нужен префикс ujit/ для всех заголовочников lua
Однако, я к сожалению получил segmentation fault на вот таком стэке вызовов (нормально работает с LuaJIT 2.0.5):
#0 0x00005555555e2ea2 in wssend ()
#1 0x00007ffff7e24113 in lj_BC_FUNCC () from /usr/local/lib64/libujit.so.0
#2 0x00007ffff7e50b6e in lua_pcall () from /usr/local/lib64/libujit.so.0
Но это не сюда, это в bug-tracker, попробуем разобраться вместе, т.к. проект ваш очень интерестен. После ухода Майка от проекта LuaJIT, у многих пессимизм был по поводу дальнейшего развития, и вполне оправданный.
Да, в плане C API можно использовать как drop-in-replacement для Lua/LuaJIT: и набор, и семантика API сохранены.
EDIT: один момент, есть: в инклудах нужен префикс ujit/ для всех заголовочников lua
Однако, я к сожалению получил segmentation fault на вот таком стэке вызовов (нормально работает с LuaJIT 2.0.5):
#0 0x00005555555e2ea2 in wssend ()
#1 0x00007ffff7e24113 in lj_BC_FUNCC () from /usr/local/lib64/libujit.so.0
#2 0x00007ffff7e50b6e in lua_pcall () from /usr/local/lib64/libujit.so.0
Но это не сюда, это в bug-tracker, попробуем разобраться вместе, т.к. проект ваш очень интерестен. После ухода Майка от проекта LuaJIT, у многих пессимизм был по поводу дальнейшего развития, и вполне оправданный.
Но это не сюда, это в bug-tracker
Да, конечно. Заведите, пожалуйста, баг в github.com/iponweb/luavela/issues, посмотрим, в чём дело.
EDIT: один момент, есть: в инклудах нужен префикс ujit/ для всех заголовочников lua
Да, это так. Может, не самое удачное решение, но мы его выбрали для комфортной одновременной установки в систему нескольких реализаций.
Не рассматривали вариант перехода на luajit 2.1, либо развивать форк с него?
Эксперименты с LuaJIT 2.1 проводили перед тем, как форкнули, то есть примерно в 2015 году. В тот момент 2.1 показал плохую производительность на наших проектах и нагрузках, да и в целом его официальный статус беты внушал опасения. Соответственно, форк начали от стабильной ветки 2.0.
Но за 2.1 следим и заимствуем некоторые вещи оттуда (например, поддержку конкатенации в JIT-компиляторе).
Но за 2.1 следим и заимствуем некоторые вещи оттуда (например, поддержку конкатенации в JIT-компиляторе).
А ffi из LuaJIT у вас работает?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0