KEYNOTE: A journey through incremental computation
summary
Argues that using immutable ropes plus Rust Arcs gives diffs as fast as complex incremental frameworks while keeping a Vec‑like API; uses Arc pointer_eq and a dual‑end walk to skip shared subtrees and get typical O(log n) updates, falling back to local diffing for scattered edits. Demonstrations include xy‑editor prototypes and the druid toolkit, integration with platform text layout (DirectWrite) via make_mut/get_mut, cross‑thread sharing, automatic cleanup, and practical limits around tens of thousands of items.
AI-written summary · about
chapters (13)
- 0:00Start
- 4:31Overview
- 7:53Features of text layout
- 8:46Case study: list view
- 9:05Features of list view
- 10:24Things get tricky
- 20:42Immutable data structures: fast diffing
- 21:25Fast immutable diffing
- 27:15Rust: wide dynamic range
- 32:53Arc::get_mut and platform integration
- 34:43Arc method summary
- 36:49Long journeys
- 42:53Questions?
related talks
40mRust’s approach of getting things right
27mHow Rust taught me to think about systems
31mImmutable Data Structures and why You want them
25mIntro and Overview to Rust
01h 05mKeynote - Rust: confident, productive systems programming
29mPerformance: We're In This Together
33mRust and Haskell, sitting in a tree
01h 11mDuck-Tape Chronicles - Rust C++ Interop
