Locks and Synchronisation
Listed inLocks and SynchronisationConcurrency & Performanceon
Mutexes, read-write locks, condition variables, and lock ordering to avoid deadlock.
Doing several things at once without corrupting state, and making the whole thing fast by measuring rather than guessing.
13 articles
Listed inLocks and SynchronisationConcurrency & Performanceon
Mutexes, read-write locks, condition variables, and lock ordering to avoid deadlock.
Listed inBackpressureConcurrency & Performanceon
What to do when producers outrun consumers, and why an unbounded queue is a slow-motion crash.
Listed inProfilingConcurrency & Performanceon
Brendan Gregg on generating and reading them — the visualisation that turns a profile into an obvious answer.
Listed inLatency and ThroughputConcurrency & Performanceon
The interactive version, scaled by year. Memorise the orders of magnitude and most performance debates resolve themselves.
Listed inOptimisation StrategyConcurrency & Performanceon
Measure, fix the biggest thing, measure again — and the order of magnitude that beats a rewrite.
Listed inRace ConditionsConcurrency & Performanceon
Check-then-act, lost updates, and the bug that only reproduces on the CI machine.
Listed inActors and ChannelsConcurrency & Performanceon
Sharing by communicating instead of communicating by sharing, and where each model fits.
Listed inLatency and ThroughputConcurrency & Performanceon
Percentiles over averages, tail latency, and Little law as a back-of-envelope tool.
Listed inConcurrency vs ParallelismConcurrency & Performanceon
Structuring for overlap versus actually running simultaneously, and which problem you have.
Listed inAsync and Event LoopsConcurrency & Performanceon
Non-blocking I/O, the single-threaded loop, and the CPU-bound task that freezes everything.
Listed inBenchmarkingConcurrency & Performanceon
Warm-up, variance, statistical significance, and the microbenchmark the optimiser deleted.
Listed inAtomics and Lock-Free CodeConcurrency & Performanceon
Compare-and-swap, memory ordering, and why you should almost never write this yourself.
Listed inProfilingConcurrency & Performanceon
CPU, allocation, and wall-clock profiles, flame graphs, and finding the real hot path.