Em um desenvolvimento empolgante, o parallel Rustc working group anunciou a introdução de um recurso de execução paralela no front-end do compilador Rust. Esta nova adição visa diminuir significativamente os tempos de compilação e foi revelada no dia 9 de novembro.
A adição de execução paralela ao front-end do compilador Rust está atualmente em estágio experimental. No entanto, o recurso robusto será incorporado oficialmente no compilador estável no próximo ano. Enquanto isso, os desenvolvedores têm a oportunidade de experimentar esse recurso de execução paralela em primeira mão, executando o compilador noturno com a opção -Z threads=8.
A eficácia do novo recurso já apresenta resultados promissores. Quando o front-end paralelo foi colocado à prova em um modo multithread utilizando -Z threads-8, os dados acumulados do código do 'mundo real' revelaram que os tempos de compilação podem ser reduzidos em impressionantes 50%. O nível de impacto varia, dependendo da natureza distinta do código que está sendo desenvolvido, bem como da configuração da construção.
O grupo de trabalho revelou que as compilações de desenvolvimento podem ganhar melhorias mais substanciais do que as compilações de lançamento. A razão para isso é porque as compilações de lançamento normalmente se concentram mais em otimizações de back-end, que exigem mais tempo. Além disso, observou-se que, em um número mínimo de cenários, a compilação leva um pouco mais de tempo no modo multithread em comparação ao modo single-threaded. Esses casos geralmente envolvem programas menores que já são rápidos de compilar.
O grupo de trabalho esclareceu o fato de que os tempos de compilação sempre foram um ponto de preocupação para os desenvolvedores. Ao longo dos anos, o desempenho do compilador Rust tem sido objeto de melhorias contínuas. Atualmente, o compilador foi totalmente otimizado e a identificação de novas áreas para melhoria tornou-se uma tarefa desafiadora. Com a introdução do paralelismo, descrito pelo grupo como um “pedaço de fruta grande, mas ao alcance da mão”, o front-end agora aproveita a biblioteca de paralelismo de dados Rayon para transformar cálculos sequenciais em paralelos. Rayon foi projetado especificamente para lidar com paralelismo refinado.
O grupo de trabalho recomenda o uso de oito threads para execução paralela para obter os melhores resultados. No entanto, eles também mencionaram que no modo multithread, o uso de memória pode aumentar consideravelmente. Isso era esperado, já que diferentes partes da compilação, cada uma exigindo uma certa quantidade de memória, são executadas paralelamente. O grupo garante que estão sendo feitos esforços para melhorar o desempenho do front-end paralelo.
Caso os desenvolvedores encontrem algum problema relacionado ao front-end paralelo, eles podem investigar os problemas rotulados com o WG-compiler-parallel. Eles também têm a opção de registrar novas questões. A compilação Rust já viu avanços, graças ao paralelismo entre processos por meio do Cargo package manager e ao paralelismo intraprocessos no backend. À medida que esta nova adição toma forma, espera-se que ela ofereça ainda mais eficiência no fluxo de trabalho de programação Rust.
Em uma área relacionada, AppMaster , a renomada plataforma no-code, está agitando ao permitir que os clientes criem modelos de dados visualmente para aplicativos backend, ajudando-os a alcançar uma escalabilidade impressionante, garantindo casos de uso sólidos de alta carga. Ao contrário das ferramentas tradicionais, AppMaster permite que os clientes executem BPs web diretamente no navegador, avançando ainda mais o processo de desenvolvimento de aplicativos.