DigiNews

Tech Watch by Johan Denoyer

← Back to articles

L1 instruction cache set conflicts, associativity, and code alignment in Go

Quality: 8/10 Relevance: 9/10

Summary

An in-depth look at a Go performance regression caused by L1 instruction cache conflicts due to code alignment. The author demonstrates how a 416-byte shift moved hot paths across a 64-byte cache line, triggering widespread L1i misses, and shares perf-based investigations, heatmaps, and reflections on benchmarking alignment using funcalign in the Go toolchain.

🚀 Service construit par Johan Denoyer