ExpertiDict

C++ · Avançado · Inglês · Técnico

link time optimization

lɪŋk taɪm ˌɑːp.tɪ.maɪˈzeɪ.ʃənsubstantivo

Otimização feita na etapa de link, em que o compilador enxerga todos os arquivos objeto juntos e pode inlinar e eliminar código entre unidades de tradução. Ativa-se com -flto.

Onde usar

Usada em builds de release para ganhar desempenho e reduzir o binário sem mexer no código, ao custo de um link mais lento. No CMake, a propriedade INTERPROCEDURAL_OPTIMIZATION liga o recurso.

Em código

g++ -O2 -flto a.cpp b.cpp -o app
# no CMake:
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)

Exemplos

Turn on LTO for the release build.

Ative o LTO no build de release.

LTO can inline across translation units.

O LTO consegue inlinar entre translation units.

Cuidado

Todos os objetos e bibliotecas estáticas precisam ser compilados com -flto; misturar com e sem LTO pode perder otimização ou dar erro de link.

Sinônimos

LTO

Veja também

Todos os termos de C++