Optimizing a Spin-Lock -- David Álvarez Rosa
From a naive exchange loop to a spin-lock 5.7x faster drawing 5.4x less energy, with benchmarks, assembly, and perf counters at each step.
Optimizing a Spin-Lock
by David Álvarez Rosa
From the article:
A spin-lock is a lock that never sleeps. Instead of yielding to the scheduler, the thread stays on the CPU and spins. No syscalls. No context switches.
In this post, we’ll build a version, step by step, that is 5.7x faster while drawing 5.4x less energy.