Re:Why Lua Beats MicroPython for Serious Embedded Devs
by igouy on Tuesday July 15, 2025 @11:23AM
(#44572141)
> extensions.html
On that page, what words do you think support your claim "was removed before Lua 5.2 was released".
> I know with certainty
I made those code changes. I wrote de-optimized as a joke.
Re:Why Lua Beats MicroPython for Serious Embedded Devs
by mardifoufs on Tuesday July 15, 2025 @01:01PM
(#44573340)
Wait, that's news to me. Last time I checked, maybe 2 years ago, luajit supported some Lua >5.2 features. But, just a handful of those. Is it truly supporting most of the newer features nowadays?
From what I understand, LuaJIT was removed before Lua 5.2 was released, so that wasn't the reason.
https://luajit.org/extensions.html
LuaJIT supports most of the features of Lua versions after 5.1 with the major missing feature being 64-bit integers, but like modern JS JITs, it actually uses 31/32-bit ints internally most of the time. Even in Lua 5.4 code, you are using implicit rather than explicit ints 99% of the time.
I haven't run the code to see, but I'm willing to bet that you can copy all the current benchmark code into LuaJIT and it'll run just fine.
> You have no idea.
I know with certainty that deoptimizations were applied to at least some scripts. Here's three examples for Common Lisp, StandardML, and Haskell over some time.
https://zerf.gitlab.io/ComputerLanguageBenchmarksGame2018Arc...
https://github.com/lemire/ComputerLanguageBenchmark/blob/fbe...
https://hackage.haskell.org/package/ajhc-0.8.0.4/src/example...
Here's a C example from Mike Pall (presumably the same guy who created LuaJIT) that also got the deopt treatment by Isaac Gouy.
https://github.com/lemire/ComputerLanguageBenchmark/blob/fbe...
It's not a question of if this happens -- only if it affects Lua (I've never checked).