O que é loop unrolling?
O loop unrolling é uma otimização que duplica o corpo de um loop para que cada iteração faça o trabalho de várias, reduzindo o número de desvios e atualizações do contador. Com menos instruções de controle do loop e mais operações independentes expostas, o processador pode sobrepor o trabalho de forma mais eficaz. O trade-off é código maior, que pode pressionar o cache de instruções.
Por que isso importa
A sobrecarga do loop pode dominar loops apertados com corpos pequenos, e o unrolling amortiza esse custo em mais trabalho útil. Ele também dá ao escalonador e ao vetorizador mais material para otimizar.
Guias relacionados
What Is Loop-Invariant Code Motion?Loop-invariant code motion hoists computations whose result does not change across iterations out of a loop s…
What Is Strength Reduction?Strength reduction replaces expensive operations with cheaper equivalent ones, such as turning a multiplicati…
What Is Instruction Scheduling?Instruction scheduling reorders machine instructions to keep the CPU pipeline busy and hide latencies, withou…