Practical DSA
Linear and Arena Allocators
Bypass the OS and the global allocator. Build a custom linear arena allocator to implement fast memory allocation with zero fragmentation.
Practical DSA
Object Pools and Free Lists
Solve the problem of dynamic entity lifespans. Build a zero-allocation object pool using an implicit free list hidden inside dead memory.
Practical DSA
The Mechanics of Linked Lists
An introduction to node-based data structures. The physical reality of std::list, pointer swapping, fast insertions, and why pointer chasing destroys performance.
Practical DSA
Unrolled Linked Lists
Balance the flexibility of linked lists with cache-line sympathy of arrays. Learn how to group data into contiguous chunks to drastically reduce pointer chasing.
Practical DSA
Data Structures & Algorithms
An introduction to data structures and algorithms from a practical, hardware-first perspective. Learn how the physical layout of your data in memory impacts performance.
Practical DSA
Locks and Atomics
Learn how mutexes and atomics prevent race conditions, and why hardware contention can make multithreaded code slower than single-threaded code.
Practical DSA
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.
Intro to C++ Programming
Types and Literals
Explore how C++ programs store and manage numbers in computer memory, including integer and floating-point types, memory allocation, and overflow handling.
Practical DSA
Memory Fragmentation
Why do long-running programs inevitably degrade and crash? Discover the hardware reality of memory fragmentation and TLB thrashing.