~/talk

Demystifying the Compose Runtime & Compiler

Talkat droidcon New York 2025 · 2025-06-25..06-26· [android]
links:none on file
slides:none on file

Counter example compiles into code that injects a composer parameter, wrappers for control flow, and restart/replace groups so the runtime can re-enter specific points; state uses the slot table implemented as two gap‑buffer arrays with bit‑packed group metadata and 3‑bit change masks. The snapshot system tracks reads/writes to invalidate only groups, composables become skippable when inputs match, and lambdas get remembered or singleton‑optimized. The compiler/runtime design targets a 16 ms main‑thread budget and explains the 4→5 tally transition via positional memoization.

AI-written summary · about

  1. 0:00Compose runtime and compiler intro
  2. 1:03Real-world composable example
  3. 3:11Initial composition and change lists
  4. 6:45Apply changes and recomposition
  5. 8:28Incremental updates in recomposition
  6. 10:15Composition hierarchy and slot table
  7. 13:25Positional memoization and control flow
  8. 15:52Slot table implementation
  9. 17:36Slot table future changes
  10. 18:18Compiler replace groups for control flow
  11. 19:41Snapshot system and state invalidation
  12. 21:05Restart groups and recomposition hooks
  13. 22:50Skippable composables and change masks
  14. 26:24Lambda memoization optimizations
  15. 28:12Decompiled composable code
  16. 32:42Compiler transformations and inlining
  17. 33:49Key takeaways and performance
  18. 36:19Recomposition pitfalls and optimizations
  19. 38:03Moving work to layout and draw
  20. 39:06Avoiding backwards writes
  21. 40:08Performance tips and updates
~/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.