Why the thread-pool math matters: a busy-wait locks one OS thread per waiting actor. A semaphore lets thousands of sleeping actors share a handful of threads.
Continuing on from S1E1 that highlighted issues around memory access stalls, and optimisation of hot and cold data, the same issue shows up with nested loops — when we traverse a data structure larger than the cache in t
Not all memory is equal. It's a beginner's mistake to think that all memory access takes an equal amount of time. Many managed languages abstract memory layout away so the programmer can focus on functionality, but in do