Implementing a Structure of Arrays

Learn how to design and implement a domain-specific container from scratch. The course focuses on cache efficiency, data-oriented design, and real-world performance trade-offs.

1
Domain-Specific Containers
Build a custom container that combines the performance of data-oriented design with the ergonomics of object-oriented programming.
2
Sorting and Permuting Containers
Implement proxy sorting, physical memory permutations, and multi-threaded reordering.
3
The Swap-and-Pop Idiom
Comparing the performance cost of deletion techniques, and implementing the Swap-and-Pop approach in a Structure of Arrays container.
4
Stable Addressing and Tombstones
Solving the index invalidation problem and the trade-offs between memory density and reference stability.
5
Generational Indices
Upgrade simple indices into Generational Handles, creating safe, persistent references that detect stale access.
6
The Reallocation Spike
The hidden cost of std::vector growth, why it is dangerous for real-time systems, and how to mitigate it.