~/talk

Deep Dive into the Compose Compiler

Talkat droidcon London 2024 · 2024-10-31..11-01· [android]
speakerdeck:heyitsmohit
slides:none on file

Shows exactly how Compose transforms code into a runtime data structure and what actually changes during recomposition, with concrete numbers and APIs: the slot table stores groups, primitives and references across three arrays, groups allocate pages of max size 64, a hardcoded root and child keys (0 and 1000) appear, and recomposition uses stored recomposition scope objects to find addresses to update. Also covers compiler work: the plugin injects a composer parameter via IR transformers and benchmarks alternative slot implementations like linked lists.

AI-written summary · about

  1. 0:00Compose Compiler internals
  2. 3:20Compose beyond UI examples
  3. 6:54Compose runtime structure
  4. 9:43Slot table architecture
  5. 11:53Slot tables store groups
  6. 15:46Slot table with gap buffers
  7. 20:21Debugging slot tables
  8. 22:52Composer role in composition
  9. 25:00Recomposer snapshot system
  10. 28:51IR transformations in Kotlin
  11. 31:00Creating root groups
  12. 33:49Recomposition scope tracking
  13. 36:42Compose runtime breakdown
  14. 37:25Kotlin plugin transformers
  15. 40:57Q&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.