Seguindo os passo do Fedora e openSUSE, o Ubuntu 21.04 usará otimizações LTO para a compilação de seus pacotes. Confira os detalhes dessa mudança.
Além do objetivo de usar o Wayland por padrão, outra mudança de alto perfil sendo trabalhada para o lançamento do Ubuntu 21.04 nesta primavera é o uso de otimizações de tempo de link (LTO) para todas as compilações de pacote de 64 bits.
Ubuntu 21.04 usará otimizações LTO na compilação de seus pacotes
Sim. O Ubuntu 21.04 usará otimizações LTO na compilação de seus pacotes.
Juntando-se a empresas como Fedora e openSUSE, que habilitam otimizações LTO por padrão para suas compilações de pacotes, os desenvolvedores do Ubuntu estão trabalhando para ativar as otimizações de tempo de link por padrão com suas compilações de pacotes.
O plano é ter LTO habilitado para todas as compilações de pacote de 64 bits, ou seja, para x86_64 e AArch64 como mais notáveis, mas o suporte RISC-V de 64 bits não verá LTO neste ponto. POWER PPC64LE e s390x também verão LTO além de AArch64 e x86_64.
Otimizações de tempo de link permitem otimizações de compilador em tempo de link em todo o programa, em vez de apenas em uma base por arquivo/objeto.
Otimizações de tempo de link com este escopo maior podem compensar muito, especialmente para bases de código maiores.
As otimizações no tempo de link tendem a ser benéficas para o programa do binário resultante e, em alguns casos, arquivos menores, etc.
A desvantagem das otimizações de tempo de link são, em alguns casos, tempos de compilação significativamente mais longos e podem ter um impacto no uso de memória, mas, neste caso, está apenas afetando o farm de compilação de pacotes do Ubuntu.
Ver o Ubuntu 21.04 planejando pacotes LTO é ótimo e ótimo ver mais distribuições Linux aplicando essas otimizações de compilador a todos os pacotes (concedido, algumas exceções como o suporte GCC LTO para o kernel Linux não sendo integrado).
Matthias Klose avisou que eles estão planejando habilitar otimizações de tempo de link com o Ubuntu 21.04 por padrão, uma vez que a biblioteca Glibc 2.33 C é adicionada ao pacote de lançamento.
Enquanto isso, o Debian upstream não está planejando um LTO por padrão para seus pacotes até o Debian 12 “Bookworm” e não o próximo Debian 11.
Os planos sobre o Ubuntu lançando em LTO para compilações de pacotes podem ser encontrados através do Ubuntu Wiki.
Ótimo ver isso acontecendo e tornará o benchmarking do Ubuntu 21.04 ainda mais divertido.