Hoje é:08/03/2021
Python pode executar até 27% mais rápido no Fedora 32 com otimização

Python pode executar até 27% mais rápido no Fedora 32 com otimização

A famosa linguagem de programação Python e o Fedora parecem ter sido feitos um para o outro. Pelo menos em relação aos scripts. Assim, eles podem estar notavelmente mais rápidos após o lançamento do Fedora 32 em abril. De acordo com os primeiros testes, o Python pode executar até 27% mais rápido no Fedora 32 com otimização.

Originalmente para o Fedora 32, os desenvolvedores procuravam vincular estaticamente o Python para obter melhor desempenho. No entanto, devido ao feedback, eles reduziram esse resultado. Então, foram muitas otimizações do Python no Fedora 32. Isto levou à criação do Python com o -fno-semantic-interposition compiler flag.

Python pode executar até 27% mais rápido no Fedora 32 com otimização

De acordo com a documentação do GCC no sinalizador de interposição semântica

Alguns formatos de objeto, como ELF, permitem a interposição de símbolos pelo vinculador dinâmico. Isso significa que, para os símbolos exportados do DSO, o compilador não pode executar propagação interprocedural, inlining e outras otimizações antecipando que a função ou variável em questão possa ser alterada.

Embora esse recurso seja útil, por exemplo, para reescrever funções de alocação de memória por uma implementação de depuração, é caro em termos de qualidade do código. Com a interposição -fno-semântica, o compilador assume que, se ocorrer interposição para funções, a função de substituição terá exatamente a mesma semântica (e efeitos colaterais). Da mesma forma, se ocorrer interposição para variáveis, o construtor da variável será o mesmo.

Interposição semântica

Python pode executar até 27% mais rápido no Fedora 32 com otimização

Os desenvolvedores do Fedora descobriram que construir o Python com interposição -fno-semântica pode obter até 27% mais desempenho, dependendo da atividade executada. Exemplos de teste como nbody, scimark, django, ray-tracing e muitos outros geraram melhorias de desempenho na faixa de 20 a 27% com muito mais performance na faixa de 5 a 20%, conforme medido pelo PyPerformance.

A única desvantagem dessa alteração de nenhuma interposição semântica é que LD_PRELOAD não pode ser usado com Python para substituir símbolos.

Mais detalhes sobre essa mudança concluída no Fedora Wiki.

Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.

Continue in browser
To install tap Add to Home Screen
Add to Home Screen
To install tap
and choose
Add to Home Screen
Continue in browser
To install tap
and choose
Add to Home Screen
Continue in browser
Continue in browser
To install tap
and choose
Add to Home Screen
See this post in...
Python pode executar até 27% mais rápido no Fedora 32 com otimização
Chrome