JIT Compiler for Erlang OTP
summary
A new Erlang JIT named bmasum compiles BEAM bytecode to native x86-64 at load time using asmjit and C++ without profile‑guided or aggressive runtime optimizations, keeping stack/heap layout and tracing identical to the interpreter. It boosts e‑stone throughput from about 490k to 840k (~70%), gives ~65% average JSON speedups with some cases up to 150%, adds ~12k C++ and ~65k assembly lines, and is merged into master (PR merged Sept 22) and works.
AI-written summary · about
chapters (10)
- 0:00Intro
- 0:52What does a compiler do?
- 4:05What is a JIT compiler?
- 6:25What about Erlang?
- 7:54Our requirements
- 16:58Benefits
- 23:15Drawbacks
- 25:55When?
- 27:37The future?
- 29:31Questions?
related talks
39mFireside chat on JIT compiler
19mErlang/OTP Update
12mLightning Talk: Expected Application of BeamAsm
20mBYOJ: Build your own JIT with Ruby
25mCo-operative JIT Compilation for Resource-Constrained Low-Power Coprocessors
15mAmalgamating Different JIT Compilations in a Meta-tracing JIT Compiler Framework
19mLumen
48mGetting to Know the Erlang Virtual Machine, the BEAM
