Para acelerando o próprio processo de integração contínua (CI) do Mesa com a criação frequente de novas revisões do Mesa3D, sua infraestrutura de CI está começando a usar o vinculador Mold como uma alternativa de alto desempenho aos vinculadores GNU Gold e LLVM LLD. Isso está gerando uma melhoria”substancial”de desempenho em testes para poder executar tarefas de CI mais rapidamente e, por sua vez, permitir que os desenvolvedores do Mesa sejam mais eficientes.
Há um mês, foi levantado um problema sobre a reavaliação das opções do vinculador para o contínuo integração. O mofo foi criado ali que “traria outra aceleração, mas é claro que pode ser abandonado a qualquer momento”. A questão do abandono acabou. Atualmente, o Mold é um projeto independente de código aberto liderado por Rui Ueyama, o desenvolvedor também originalmente envolvido com o LLD da LLVM.
Como tenho abordado em muitos artigos da Phoronix ao longo do ano passado sobre o Mould se unindo bem, o desempenho do Mold parece ótimo e muito à frente das alternativas. O desenvolvedor do Mesa, Mike Blumenkrantz, comentou sobre as perspectivas do Mold na época:
A melhoria de desempenho é substancial e acho que teríamos uma diminuição notável nos tempos de construção de muitos trabalhos. No meu sistema aqui, a vinculação de gálio vai de ~20 segundos a ~1 segundo.
Alguns bugs foram descobertos com o teste do Mold para vincular o Mesa e esses problemas foram resolvidos no Mould upstream.
Com esta fusão desde ontem, a integração contínua do Mesa agora está usando o Mold para vincular em x86_64 e AArch64. A descrição da mudança é simplesmente:
mold é um novo linker sofisticado que é muito rápido.
Esse aumento de desempenho é quase a velocidade de link ao compilar o Mesa, mas não afeta o desempenho do driver gráfico em tempo de execução. Ele também não afeta a configuração padrão para compilações do Mesa pelos usuários, mas é apenas sobre a configuração de CI. De qualquer forma, agora, o uso das compilações do Mold for Mesa CI permite que eles realizem trabalhos mais rapidamente e, por sua vez, permitem que os desenvolvedores do Mesa sejam mais produtivos e eficientes. Além disso, seus trabalhos de CI sendo mais eficientes também podem ajudá-los com seus custos de CI em nuvem anteriormente inflados.
Dadas as amplas vantagens de desempenho do Mold para vinculação, esperamos que mais projetos de código aberto sejam avaliados possivelmente usando essa alternativa GNU Gold e LLD.