~/talk

Benchmarking and optimizing the Carbon compiler

slides:none on file

Project aims for an absurdly fast compiler and finds the real bottleneck in the lexer: identifier interning into a hash table. Uses Google Benchmark, Basil build runs, and a source-generator plus script (script/bin/benchrunner.py) to create realistic, histogram-driven files. Replaces/rewrites hash internals (Carbon hash vs Abseil) and adds table-dispatch/musttail lexer code; results show Carbon hash vs Abseil lookup hits ~23% faster and insertion sequences up to 2x faster, hitting roughly 10M lines/sec lexing on an M4 and ~1M lines/sec for checks.

AI-written summary · about

  1. 0:00Compiler benchmarking intro
  2. 1:14Lexer bottleneck revealed
  3. 3:41Hash tables in compilers
  4. 8:37Reusable hash benchmarks
  5. 14:20Hash table insertion perf
  6. 20:19Noisy results analysis
  7. 28:12Optimizing hash tables
  8. 32:27Compiler benchmark infra
  9. 38:43Generating test code
  10. 51:01Compiler throughput metrics
  11. 55:44Hardware counters insights
  12. 57:32Lexer table-based dispatch
  13. 1:01:19Key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.