O LLVM agora usa PGO para construir arquivos de versão x86_64 do Windows e com isso, as compilações até 22% mais rápidas. O projeto LLVM agora está empregando otimizações guiadas por perfil (PGO) ao construir seus pacotes de lançamento x86_64 do Microsoft Windows. Fazer uso do PGO é capaz de fazer com que seu Clang seja construído impressionantemente 22% mais rápido.
Originalmente, era uma solicitação pull para usar PGO e ThinLTO para o pacote de lançamento do Windows. Mas eles acabaram voltando para apenas PGO por enquanto. Mas com PGO + ThinLTO eles descobriram que o binário do instalador era cerca de 5% menor, enquanto o conjunto de ferramentas era construído cerca de 20% mais rápido.
LLVM agora usa PGO para construir arquivos de versão x86_64 do Windows: compilações até 22% mais rápidas
Com este commit com o LLVM que foi mesclado no início desta semana, apenas o PGO está habilitado por padrão, mas com ótimos resultados para o desempenho do conjunto de ferramentas:
Use PGO para pacote de lançamento do Windows x86_64 (#71067)
Aplicar isso ao 17.0.4 torna o conjunto de ferramentas 22% mais rápido (conforme medido pela construção do clang).
Para aqueles que experimentam há muito tempo com LTO e PGO, os resultados provavelmente não são muito surpreendentes. O PGO pode gerar um grande aumento de desempenho , desde que você tenha gerado perfis precisos para o uso do software. Embora devido às complexidades envolvidas e à necessidade de perfis precisos, o Clang PGO foi retirado do kernel Linux como exemplo. De qualquer forma, o PGO é uma das técnicas interessantes de otimização do compilador para ajudar a alcançar o desempenho máximo.