Skip to content

Persistent vs. Ephemeral Structures

Persistent data structures preserve previous versions after modification, enabling temporal queries and safe sharing; ephemeral structures modify in place, optimizing for single-version use cases.

Tension Addressed

Memory Usage vs. Time Performance

Recognizable As

Immutable data structures; copy-on-write; structural sharing; version control internals; functional programming collections; any "undo-friendly" design

Canonical Sources

Driscoll et al., "Making Data Structures Persistent" (1989); Okasaki, Purely Functional Data Structures (1998)

Transfers To

Version Control (Git internals), Functional Programming (immutable collections), Database Systems (MVCC), Undo Systems (history maintenance)

Persistence enables safe concurrent access (no mutation races) and temporal queries (what was the value at time T?) at the cost of additional space for preserved structure.