openresty / luajit2

OpenResty's Branch of LuaJIT 2
https://luajit.org/luajit.html
Other
1.23k stars 200 forks source link

luajit vs luajit2 #224

Open IlyaIndigo opened 5 months ago

IlyaIndigo commented 5 months ago

Hello! I'm a nginx maintainer in openSUSE and I recently had a need to build nginx-lua-module for redis access and I just now found out about luajit and luajit2 and I want to figure out whether I should replace luajit with luajit2, make them alternatives or use luajit2 only for nginx-module-lua.

What is the difference in them and what are the advantages and disadvantages of each over the other. OpenResty claims luagit2 works much better with mginx-module-lua. That's all I understand so far. Why can't OpenResty patches just be added to upstream? Is it possible to replace luajit with luajit2 in the operating system and what consequences will this cause, for example for gegl used in gimp? Or does luajit2 work better only with nginx-module-lua and luajit is better for everything else? https://github.com/LuaJIT/LuaJIT/issues/1191

zhuizhuhaomeng commented 5 months ago

What is the difference in them and what are the advantages and disadvantages of each over the other. OpenResty claims luagit2 works much better with mginx-module-lua.

We usually call it OpenResty LuaJIT for the LuaJIT2 you mentioned. The OpenResty LuaJIT extends the LuaJIT/LuaJIT with some APIs which improve the performance of the OpenResty.

Why can't OpenResty patches just be added to upstream?

Some of the patches won't be accepted.

Is it possible to replace luajit with luajit2 in the operating system and what consequences will this cause, for example for gegl used in gimp?

OpenResty LuaJIT merges the changes from LuaJIT/LuaJIT in a timely manner. Replace luajit with luajit2 in the operating system should be OK. But for the OpenResty itself, we usually embed the LuaJIT into the OpenResty bundle.

IlyaIndigo commented 5 months ago

Thank you for your reply! While trying to make luajit and luajit2 non-conflicting, I realized the confusion in the title that the lua maintainer and the original author told me about. You renamed only the project directory name, but you left the names of the libraries and executable file to luajit, which makes it conflict with luajit. I'm downstream fixing that now.