4 ms·
I really hope this gains traction. i use Lua in a professional setting on an smaller embedded Linux system. Lua's memory requirements, ability to bind with C,
by as-j 7y ago
I really hope this gains traction. i use Lua in a professional setting on an smaller embedded Linux system. Lua's memory requirements, ability to bind with C, and developer speed really works well for this project.
But it feels like a strain on the Lua community to have LuaJIT essentially "stuck" with Lua 5.1. Many projects seem to have taken a long time to move on and start moving forward to 5.2, or 5.3 which were released in 2011 and 2015 respectively. LuaJIT is so impressive it feels unfortunate to leave that community behind and move forward.
When we evaluated Lua, and which Lua version to go forward to this was our key points:
1. LuaJIT was abour twice as fast for us.
2. LuaJIT has nice C integration/binding.
3. LuaJIT was no longer maintained/developed/etc and was now ~10 years out of date wrt to the core language.
4. Lua is being used in non-performant areas, we have C when we need performance.
5. Integers and bitwise from 5.3 operations are important for us.
6. Overall the changes in 5.2 and 5.3 are good language improvements.
We ended up going with Lua 5.3 due to ongoing development, and for us it ticked all the boxes. But it would amazing to have the options to use LuaJIT, and to encourage everyone to move forward instead of being stuck on 5.1.
- anonymoushn 7y agoLuaJIT includes bitop, which has similar semantics to javascript's built-in bitwise operators. If you want to avoid writing `bor()` expressions it seems like a preprocessor that targets luajit is a better answer than giving up the LuaJIT FFI.
- armitron 7y agoSome comments: 5.1 with LuaJIT extras is arguably the superior language version so the vast majority of Lua devs do not see it as a downgrade. In fact I dare say that it is 5.3 and subsequent versions that are and will remain the oddities. LuaJIT is just too good.
- upofadown 7y agoLua 5.3 is technically a language fork as basic functions now have new behaviour. So you would still have to decide even if LuaJIT did not exist. The thing with LuaJIT is a symptom, not a cause.