Acaba de surgir uma alternativa interessante ao Pyston, PyPy e várias outras implementações voltadas para o uso do Python. Trata-se do Codon, que parece uma opção interessante para código Python super-rápido.
O desempenho dos executáveis de saída é considerado próximo ao de programas escritos na linguagem C. Comparado ao uso do CPython, o ganho de desempenho ao compilar com Codon é estimado em 10 a 100 vezes para execução única. Ao mesmo tempo, ao contrário do Python, o Codon implementa adicionalmente a possibilidade de usar multithreading, o que permite obter um aumento ainda maior no desempenho. Codon também permite compilar no nível da função para usar a visualização compilada em projetos Python existentes.
Embora haja alternativas do Python sendo feitas em nome do desempenho, Codon é um dos mais novos e está falando de desempenho 10 a 100 vezes mais rápido.
O Codon foi iniciado por pesquisadores do MIT com o objetivo de fornecer desempenho semelhante ao C/C++ a partir do Python. Mesmo com o código genômico do mundo real que foi otimizado manualmente, com o Codon, os pesquisadores observaram aumentos de velocidade de 5 a 10 vezes. Codon também oferece suporte a um back-end paralelo para oferecer suporte a segmentação de GPUs ou vários núcleos de CPU.
Codon parece muito promissor para código Python super-rápido
Há mais informações básicas sobre Codon disponíveis em news.mit.edu. O código para Codon é tornado público sob uma licença Business Source e pode ser encontrado no GitHub.
O projeto reconhece, porém, que pode não funcionar como um substituto imediato, entre outras limitações:
“Embora o Codon suporte quase toda a sintaxe do Python, não é uma substituição imediata, e grandes bases de código podem exigir modificações para serem executadas por meio do compilador Codon. Por exemplo, alguns dos módulos do Python ainda não foram implementados no Codon e alguns dos recursos dinâmicos do Python não são permitidos. O compilador Codon produz mensagens de erro detalhadas para ajudar a identificar e resolver quaisquer incompatibilidades.”
Mais detalhes sobre essa implementação do Python também podem ser encontrados em Exaloop.io. Deve ser interessante comparar o Codon com o Python 3.11, considerando suas recentes otimizações de desempenho upstream, bem como ver como ele se compara a algumas das outras implementações de Python com desempenho otimizado.