~/talk

Efficient OCaml compilation with Flambda 2

Talkat OCaml 2023 · on Saturday, 2023-09-09· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Flambda 2 is an IR plus an optimization pass for OCaml that replaces the old middle-ends and aims to match closure speed while producing fewer allocations; it builds a single big pass simplify that does inlining, aggressive unboxing many variants, and constant propagation together so transformations feed each other without expensive fixpoints. The IR is CPS-style with double-barrel CPS (normal and exception continuations), uses abstract interpretation plus SSA-like value propagation, and is tested enough to run in production though not upstream yet.

AI-written summary · about

  1. 0:00Flambda 2 introduction
  2. 1:14Replacing older middle ends
  3. 2:21Pattern matching optimizations
  4. 4:32Single large optimization pass
  5. 7:26Inlining strategies
  6. 8:52Simplification pass and IR
  7. 10:39Optimizing the intermediate representation
  8. 12:03Forward pass and abstract interpretation
  9. 14:56Fix points and info accumulation
  10. 16:20Rebuilding expressions
  11. 18:05Performance optimizations
  12. 18:51Testing and production
  13. 19:57Language extensions and future
  14. 20:20Q&A
~/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.