3 ms·
I wish someone like Mike Pall (LuaJIT), who made Lua insanely fast, would come along and make Erlang/OTP insanely fast too.
by tiffanyh 4y ago
I wish someone like Mike Pall (LuaJIT), who made Lua insanely fast, would come along and make Erlang/OTP insanely fast too.
- liveoneggs 4y agoerlang just got a JIT
- signa11 4y agosince abut late september 2020, iirc.
- toast0 4y agoLuaJIT is a different type of JIT than the BEAM JIT. LuaJIT is a tracing and optimizing JIT, like HotJava, code is interpreted until it's considered hot, and then is compiled/optimized into native code. BEAM's JIT is different. It does some optimization, but it applies to all code loaded, and there's no fallback to an interpreter: the interpreter still exists, but you either run BEAM with the interpretter or BEAM with the JIT; there's no mixed mode, previous attempts at a BEAM JIT found that calling between JITed and interpreted BEAM code was very difficult, so this JIT takes a different approach. This approach makes it hard to apply in depth optimizations, because they would tend to delay loading. However, it eliminates the interpreter overhead completely.
- ch4s3 4y agoAs someone else pointed out, there is a proper JIT now, but not too many people are especially concerned about boosting single threaded perf to say Java levels. It just isn't what big users of OTP are concerned with, per se. It would be cool if the JIT get really good, but I'm not holding my breath.