4 ms·
erlang just got a JIT
by liveoneggs 4y ago
erlang 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.