Otimização em Tempo de Ligação (LTO): O Próximo Nível de Otimização de Compilador?

2025-05-21
Otimização em Tempo de Ligação (LTO): O Próximo Nível de Otimização de Compilador?

Este artigo explora a Otimização em Tempo de Ligação (LTO), uma técnica que aprimora o desempenho do programa realizando otimizações durante a etapa de ligação. Compiladores tradicionais otimizam dentro de arquivos individuais, enquanto o LTO permite otimizações mais abrangentes entre arquivos, como inlining de funções e melhoria da localidade do código. Embora o LTO possa produzir melhorias significativas de desempenho (por exemplo, uma redução de 9,2% no tempo de execução e uma redução de 20% no tamanho do binário no teste do projeto ProjectX), ele também requer tempos de compilação e ligação mais longos e mais memória. O autor compara experimentos em ProjectX e ffmpeg para ilustrar as vantagens e desvantagens do LTO e sugere tentar o LTO em projetos não otimizados agressivamente para velocidade, concluindo que os ganhos de desempenho finais dependem do projeto específico.