Pular para o conteúdo

Inside the BEAM JIT: How Lukas Backström Made Erlang Faster

10 de julho de 2026 · 1 h 1 min

Notas do episódio

In 2021, Erlang got something it had been promised for years: a Just-In-Time compiler. The person who built the first working prototype, spent years on failed experiments before it, and quietly shipped it to every Erlang and Elixir system on the planet is Lukas Backström — OTP team member since 2009, Francesco Cesarini's former student, and one of the most consequential engineers in the ecosystem that most people have never heard of.

In this episode, Alan Wyma and Francesco Cesarini sit down with Lucas for a deep dive into how the BEAM JIT actually works, what it took to get there, and where it's heading next.

Topics include:

  • the difference between interpreter, ahead-of-time compilation, and JIT — and why the BEAM's threaded code interpreter was already unusually fast

  • why tracing JITs — the first several approaches Lucas's team tried — worked great on microbenchmarks but failed on real Erlang code, which is highly branchy and unpredictable

  • the key insight that killed LLVM: faster code generation with AsmJIT was worth more than LLVM's optimizations, once you account for startup time

  • how the template JIT design — copy-pasting assembly from templates into memory, then specializing a few bits — became the architecture that shipped

  • why WhatsApp was running the JIT from the tip of master the day it was released, nine months before the official OTP 24 tag

  • how type-guided optimizations now flow from the Erlang compiler into the JIT — and why a simple integer add can now compile to a single assembly instruction

  • the Apple M1 announcement that changed the release timeline and forced ARM64 support a year ahead of schedule

  • what's actually left to do: smarter code loading, better startup time, and the native records implementation touching every layer of the system

  • why the BEAM JIT is one of the simpler JITs you could read — and how to inspect the assembly it generates for your own code

Recorded May 27, 2026.

Todos os episódios de BEAM There, Done That

Configurações

Exibição

Idioma

Define quais estações você vê primeiro na página inicial.

Histórico

As rádios e episódios ouvidos recentemente e suas últimas buscas ficam só neste navegador.

Avisos

Um aviso rápido quando um podcast que você segue tem um episódio novo. Desative podcasts individuais pelo sino na página deles.

Conta

Salve favoritos – no app e no site.

Atalhos de teclado

/
Abrir busca
Espaço
Reproduzir ou pausar
← →
No player: voltar 15 s, avançar 30 s (episódios) · na fileira: próximo bloco
↑ ↓
Na fileira: alvo dentro do bloco
Home / End
Na fileira: primeiro ou último bloco
Esc
Fechar janela ou menu
?
Esta visão geral
Tocando agora

Ir para a estação

A seguir

    Adicione episódios com “A seguir” – eles tocam depois do episódio atual.