Escrevendo código amigável à CPU: Um guia para programação consciente de hardware

Este artigo usa a analogia de um restaurante drive-through para explicar três conceitos cruciais da arquitetura de CPU: pipeline de instruções, cache de memória e execução especulativa. O autor argumenta que entender esses mecanismos e escrever código que funciona com eles (programação consciente de hardware) pode melhorar dramaticamente o desempenho do software. O artigo mergulha em técnicas de otimização de código, como o desdobramento de loops para aproveitar a execução superscalar e a otimização do layout da estrutura de dados e padrões de acesso para aproveitar ao máximo o cache, para aumentar a eficiência. Em última análise, o autor enfatiza que escrever código eficiente se resume a escrever código limpo e fácil de manter primeiro, depois fazer a análise de perfil para identificar gargalos de desempenho e, finalmente, aplicar os princípios de programação conscientes de hardware para atingir esses gargalos.