FERRAMENTAS LINUX: O Python pode ser executado até ~ 27% mais rápido no Fedora 32 com uma otimização

sábado, 11 de janeiro de 2020

O Python pode ser executado até ~ 27% mais rápido no Fedora 32 com uma otimização



Confira !!



Os scripts Python podem estar notavelmente mais rápidos após o lançamento do Fedora 32 em abril.

Originalmente para o Fedora 32, os desenvolvedores procuravam vincular estaticamente o Python para obter um melhor desempenho . Mas, devido ao feedback, eles reduziram esse escopo e, por suas otimizações do Python no Fedora 32, o limitaram a criar o Python com o sinalizador do compilador -fno-semântico-interposiçã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."Os

desenvolvedores do Fedora descobriram que construir o Python com a fno-semantic-interposition pode render até 27% mais desempenho, dependendo da carga de trabalho. Casos de teste como nbody, scimark, django, ray-tracing e muitos outros geraram melhorias de desempenho na faixa de 20 ~ 27% com muito mais melhorias na faixa de 5 a 20%, conforme medido pelo PyPerformance.

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

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

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário