~/talk

Rewriting Your Model, Undo and Threading One Step at a Time

Talkat FrenchKit 2017 · 2017-09-22..09-23· [frontend-architecture]
links:none on file
slides:none on file

Argues for an incremental rewrite that swaps runtime KVO and handwritten encoders for generated model code plus immutable copy-on-write trees, and shows it actually works: 1,000,000 objects: KVO 30s vs manual 0.2s, immutable tree snapshots as undo history (undo becomes an array of shared immutable trees, constant-time restore), and codegen from the Xcode Core Data model editor + templates to remove runtime overhead and enable background-thread rendering with faulting.

AI-written summary · about

  1. 0:00Introduction
  2. 2:00Backstory
  3. 5:00KeyValue Observing
  4. 6:00Undo Observing
  5. 7:00Undo Management
  6. 8:00Autosave
  7. 9:00The Solution
  8. 10:00Immutable Copies
  9. 13:00Sample App
  10. 15:00CoreData
  11. 16:00Templates
  12. 17:00Coma
  13. 18:00Undo
  14. 19:00Model Snapshots
  15. 20:00Undo Trees
  16. 21:00Memory Usage
  17. 24:00Faulting
  18. 25:00Wait a minute
  19. 26:00Pure Model
  20. 27:00One Step at a Time
  21. 28:00Swift
  22. 30:00Ship Changes
  23. 31:00Testing
  24. 32:00Optimizing
  25. 33:00Performance Issues
  26. 34:00Removing Features
~/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.