Illuminating the processor core with LLVM-mca
(abseil.io)64 points by ckennelly a day ago
64 points by ckennelly a day ago
This is interesting if quite incomplete (as noted in the end conclusion). CPU re-order buffers turn what you think as mostly sequential execution into a massively parallel engine. Data memory access, perfecting, speculative execution, etc. But if you are running a micro-bencmark with a tight loop of millions of iterations, then understanding the pipeline dependencies and dispatching can provide good insights.
Also nicely demonstrated in godbolt's currently ongoing Advent of compiler optimizations series.