O projeto Pyston, que oferece Python com compilador JIT, voltou a um modelo de desenvolvimento aberto

Os desenvolvedores do projeto Pyston, que oferece uma implementação de alto desempenho da linguagem Python usando modernas tecnologias de compilação JIT, apresentaram uma nova versão do Pyston 2.2 e anunciaram o retorno do projeto ao código aberto. A implementação visa alcançar alto desempenho próximo ao de linguagens de sistema tradicionais, como C++. O código para o branch Pyston 2 é publicado no GitHub sob a PSFL (Python Software Foundation License), semelhante à licença CPython.

Lembremos que o projeto Pyston era anteriormente supervisionado pelo Dropbox, que parou de financiar o desenvolvimento em 2017. Os desenvolvedores do Pyston fundaram sua empresa e lançaram uma filial do Pyston 2 significativamente redesenhada, que foi declarada estável e pronta para uso generalizado. Ao mesmo tempo, os desenvolvedores pararam de publicar o código-fonte e passaram a fornecer apenas assemblies binários. Agora foi decidido tornar Pyston novamente um projeto de código aberto e transferir a empresa para um modelo de negócios relacionado ao desenvolvimento de software de código aberto. Além disso, está sendo considerada a possibilidade de transferir otimizações do Pyston para o CPython padrão.

Nota-se que o Pyston 2.2 é 30% mais rápido que o Python padrão em testes de desempenho que avaliam as cargas inerentes às aplicações de servidores web. Há também um aumento significativo de desempenho no Pyston 2.2 em relação às versões anteriores, o que foi conseguido principalmente através da adição de otimizações para novas áreas, bem como melhorias nos mecanismos JIT e cache.

Além das otimizações de desempenho, a nova versão também é interessante porque carrega alterações do branch CPython 3.8.8. Em termos de compatibilidade com Python nativo, o projeto Pyston é apontado como a implementação alternativa mais compatível com CPython, já que Pyston é um fork da base de código principal do CPython. Pyston oferece suporte a todos os recursos do CPython, incluindo a API C para desenvolvimento de extensões na linguagem C. Entre as principais diferenças entre Pyston e CPython está o uso de DynASM JIT, cache inline e otimizações gerais.

Entre as mudanças no Pyston 2.2, também há menção à limpeza da base de código de muitos recursos de depuração do CPython, que afetam negativamente o desempenho, mas quase não são procurados pelos desenvolvedores. São fornecidas estatísticas segundo as quais a remoção de ferramentas de depuração leva a uma aceleração de 2%, apesar do fato de apenas cerca de 2% dos desenvolvedores usarem essas funções.

Fonte: opennet.ru

Adicionar um comentário