Go: Concurrency & Scheduler Affinity

Switching a goroutine from an OS thread to another one has a cost and can slow down the application if it occurs too often. However, through time, the Go scheduler has addressed this issue. It now provides affinities between the goroutines and the thread when working concurrently. Let’s go back years ago to understand this improvement.