Keynote: My BEAM history
summary
Chronicles the concrete engineering moves that shrink and speed BEAM: a beam makeup script removes 300+ handwritten loader cases and packs operands to cut .beam size, R5 retires JAM and stabilizes the file format, R12 adds stack trimming to drop unnecessary stack slots, core Erlang and SSA (R22) enable interprocedural type analysis, and a practical JIT in R24 translates all BEAM ops to native code for measurable speedups while keeping loader-driven optimizations; shows what was built, why it was chosen, and which changes actually paid off.
AI-written summary · about
chapters (16)
- 0:00My BEAM history
- 1:29Origins of Erlang and BEAM
- 4:49From JAM to BEAM VM
- 7:43BEAM’s role in the Open Telecom Platform
- 9:49BEAM stack-based architecture
- 12:20BEAM make-up script
- 19:33Retiring JAM and file formats
- 20:41Erlang and BEAM compiler
- 24:43Pattern matching compiler
- 26:57Core Erlang IR
- 29:29Stack trimming optimization
- 33:47Binary matching challenges
- 36:05Transition to Static Single Assignment in compiler
- 41:31BEAM JIT compiler
- 45:03Type tracking optimizations
- 46:26Conclusion
related talks
40mKeynote: Fireside Chat on code design
45m12 years supporting Software Architecture teaching with BEAMs
02m12 yrs supporting Software Architecture teaching with BEAMs
40mComparison and Commentary on "Application Operating System"
47mBEAM Architecture Handbook
02mClosing remarks
25m[Keynote] “Codename: Tunahead” aka Software Engineering Economics for Runtimes
49mKeynote: How to sell Elixir (Again)
