FERRAMENTAS LINUX: O Google está começando a ser adaptada para binários mais rápidos do programa

quarta-feira, 8 de abril de 2020

O Google está começando a ser adaptada para binários mais rápidos do programa




Confira !!



Começamos a ver o início do upstreaming no Propeller Framework do Google para oferecer otimizações binárias no tempo pós-link na pilha do compilador LLVM para oferecer binários (re) gerados de maneira mais rápida e mensurável.

O Propeller foi desenvolvido pelos engenheiros do Google como resultado do otimizador de pós-link BOLT do Facebook para acelerar os aplicativos, otimizando o binário gerado após ser vinculado.

O Google começou a trabalhar no Propeller Framework no ano passado para o LLVM, com o otimizador BOLT do Facebook não funcionando bem em sistemas de construção distribuídos, problemas de escalabilidade, muito espaço ocupado na memória e o baixo desempenho do BOLT nos binários. O BOLT do Facebook geralmente oferece na área de binários 2 a 6% mais rápidos para aplicativos do mundo real a partir dessa reescrita / otimização binária pós-vinculação.

Os desenvolvedores envolvidos escreveram no ano passado ao anunciar o Propeller: " Inspirados pelos ganhos de desempenho e para resolver o problema de escalabilidade do BOLT, desenvolvemos uma infraestrutura escalável que pode executar otimizações pós-link do tipo BOLT. Nesta RFC, discutimos nossas "Propeller", que pode executar otimizações binárias de tempo de link guiado por perfil de uma forma escalável e é amigável para sistemas de construção distribuídos.O nosso sistema aproveita os recursos existentes da cadeia de ferramentas do compilador e não é uma ferramenta autônoma. nosso sistema aumenta o desempenho de binários otimizados por meio de otimizações de tempo de link usando perfis precisos do binário " .

De acordo com o Google, em aplicativos do mundo real, eles descobriram que o Propeller otimizava tanto quanto o BOLT, mas com 20% da pegada de memória e do tempo gasto.

Eles têm trabalhado bastante no Propeller Framework e, recentemente, começamos a ver partes dele atingindo o repositório LLVM upstream. Hoje, foram mesclados o suporte de LLD para seções básicas de blocos, conforme exigido pela estrutura do Propeller, enquanto as seções básicas de blocos para LLVM já foram mescladas no mês passado. Outro trabalho do Propeller ainda está em revisão, mas nos dá esperança de que possamos ver essa estrutura do otimizador binário mesclada para o LLVM 11 neste outono.



Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário