Implementing a Structure of Arrays
Domain-Specific Containers
Build a custom container that combines the performance of data-oriented design with the ergonomics of object-oriented programming.
Implementing a Structure of Arrays
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.
Implementing a Structure of Arrays
Stable Addressing and Tombstones
Solving the index invalidation problem and the trade-offs between memory density and reference stability.
Implementing a Structure of Arrays
Generational Indices
Upgrade simple indices into Generational Handles, creating safe, persistent references that detect stale access.
Implementing a Structure of Arrays
The Reallocation Spike
The hidden cost of std::vector growth, why it is dangerous for real-time systems, and how to mitigate it.
Intro to C++ Programming
The this Pointer
Learn about the this pointer in C++ programming, focusing on its application in identifying callers, chaining functions, and overloading operators.
Intro to C++ Programming
Function Arguments and Parameters
Making our functions more useful and dynamic by providing them with additional values to use in their execution
Introduction to Parallelism
Locks and Atomics
Learn how mutexes and atomics prevent race conditions, and why hardware contention can make multithreaded code slower than single-threaded code.
Introduction to Parallelism
Cache Coherency and False Sharing
Explore the performance cost of synchronization, how to mitigate it, and how to avoid it entirely with better algorithm design.