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