In case anyone is wondering how highly performant / scalable LuaJIT is - Cloudflare was built on top of LuaJIT for the first ~10 years of it's existence and it's only been in the last couples of years they have begun to use Rust.
In case anyone is wondering how highly performant / scalable LuaJIT is - Cloudflare was built on top of LuaJIT for the first ~10 years of it's existence and it's only been in the last couples of years they have begun to use Rust.
Posted only 11 months ago by Cloudflare CTO
https://news.ycombinator.com/item?id=32869567
Cloudflare was already operating a scale and as public company, when they were running LuaJIT.
Chances that you'll operate at Cloudflare scale is like 1:Billion.
Sounds like Cloudflare was quite happy with LuaJIT.
They got lucky, choosing a niche language and a massive amount of tech debt as their primary technology stack.
But in the end, Cloudflare is one company. Who gives a what they did?
Add on top the fact that one of the performance problems was interfacing nginx with luajit, aka there are two unnecessary memory copies.
When I think about these things, I'm thinking cloudflare was lucky enough to outgrow lua rather than being lucky to have gotten away with luajit.
In particular, https://github.com/lua/lua/blob/master/ldo.h
Or its implementation details (written in C)?
If the later, how does that make Lua, the language, bad?
I have no complaints about the language (other than arrays starting at 1). I'm just salty because other people have said the implementation was really clean C, so I decided to spend a week porting it to C#, and I gave up. I could not figure out how closures were actually implemented, and I spent a day trying to understand it.
Luajit has a really complicated build process. I'm more nervous about changing that codebase.