Modern CPU microarchitectures are extremely complex and their behaviour can sometimes cause performance degradation that cannot be explained by looking at the source code alone. In certain cases we have to look at the microarchitecture details under the hood to understand what's really going on. This presentation will attempt to explain and demonstrate several effects caused by design trade-offs in today's CPUs and also show some tools that can be used to detect and measure them.