GCC 12 não está vendo seu lançamento estável até por volta de março ~ abril, como de costume, mas com o desenvolvimento de recursos lentamente se aproximando do próximo estágio de desenvolvimento no próximo mês para focar em correções, recentemente eu finalizei alguns benchmarks preliminares para como o GCC 12.0 está executando atualmente contra GCC 11.2 em um sistema AMD Ryzen 9 5950X (Zen 3).
Esta é apenas uma visão inicial do desempenho do GCC 12.0, visto que ele representa agora a velocidade dos binários resultantes em comparação com quando compilado no GCC 11.2. Os benchmarks em teste foram construídos em ambas as versões GNU Compiler Collection com”-O2″,”-O3″,”-O3-march=native”e”-O3-march=native-flto”.
Os resultados neste momento e neste hardware, no entanto, não acabaram sendo muito movimentados. Não houve diferenças dramáticas no geral, mas em grande parte no mesmo nível do desempenho do GCC 11, enquanto esta próxima versão do compilador tem estado ocupada adicionando novos recursos da linguagem C/C ++, novos alvos de CPU e outras melhorias.
Das dezenas de benchmarks realizados, apenas em alguns houve diferenças dignas de menção e, portanto, este artigo rápido de uma página por agora. Conforme a estabilidade do GCC 12.1 se aproxima no próximo ano e testando em mais hardware, estarei de volta com mais benchmarks do compilador GCC 12. Mas por enquanto, pelo menos a partir desses resultados do AMD Zen 3, ele está em terreno estável, sem grandes mudanças de uma forma ou de outra.
A maioria dos benchmarks mostrava apenas mudanças sutis de desempenho entre o GCC 11.2 e o código de desenvolvimento GCC 12 atual. Não muito inesperado, sem otimizações inovadoras introduzidas, o ajuste inicial do AMD Znver3 espremido no GCC 11, etc.
O desempenho do HMMer estava vendo algumas melhorias no GCC 12 quando construído com as otimizações”-march=nativa”.
C-Ray estava passando por uma grande regressão quando construído com-O2.
Alguns dos benchmarks de mineração CPUMiner-Opt estavam mostrando alguma melhora quando construídos pelo GCC 12. CPUMiner-Opt embora ainda falhe em construir com otimizações de tempo de link.
Esse é o pequeno subconjunto de resultados com alterações de desempenho do GCC 11 vs. GCC 12 que vale a pena comentar dentre algumas dezenas de benchmarks examinados até agora… Fique atento para mais quando a estabilidade do GCC 12 estiver mais próxima.