Codon é um novo compilador Python de alto desempenho

Conheça esta nova ferramenta que promete facilitar a vida de desenvolvedores.

Claylson Martins
4 minutos de leitura

Um novo compilador Python de alto desempenho acaba de chegar por meio da startup Exaloop. A empresa twittou sobre o lançamento do código do projeto Codon, que desenvolve um compilador para a linguagem Python que pode gerar código de máquina puro como saída, não vinculado ao tempo de execução do Python. Segundo a Exaloop, o Codon é um novo compilador Python de alto desempenho.

O compilador é desenvolvido pelos autores da linguagem Seq semelhante ao Python. Seria, portanto, uma continuação de seu desenvolvimento. O projeto também oferece um tempo de execução próprio para arquivos executáveis e uma biblioteca de funções que substitui as chamadas de biblioteca na linguagem Python.

Codon é um novo compilador Python de alto desempenho. Sobre o Codon

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.

O Codon é construído usando uma arquitetura modular que permite estender a funcionalidade por meio de plug-ins que podem adicionar novas bibliotecas, implementar otimizações de compilador e até fornecer suporte para sintaxe adicional.

Por exemplo, vários plugins estão sendo desenvolvidos em paralelo para uso em bioinformática e matemática financeira. O coletor de lixo Boehm é usado para gerenciamento de memória.

Mais detalhes

Codon é um novo compilador Python de alto desempenho

O compilador suporta a maior parte da sintaxe do Python, mas a compilação em código nativo impõe uma série de limitações que impedem que o Codon seja usado como um substituto transparente para o CPython. Por exemplo, Codon usa o tipo int de 64 bits para inteiros, enquanto CPython tem inteiros ilimitados.

O suporte de códon para grandes bases de código pode exigir alterações de código. As incompatibilidades são normalmente causadas pela falta de implementação de Codon de certos módulos Python e pela incapacidade de usar alguns dos recursos dinâmicos da linguagem. Para cada uma dessas incompatibilidades, o compilador emite uma mensagem de diagnóstico detalhada com informações sobre como corrigir o problema.

Código fonte

O código fonte para o compilador, tempo de execução e biblioteca padrão é escrito com C++ (usando desenvolvimentos LLVM) e Python, e é distribuído sob a Business Source License (BSL). A essência do BSL é que o código de funcionalidade estendida está inicialmente disponível para modificação, mas por algum tempo pode ser usado gratuitamente apenas sujeito a condições adicionais, que exigem a compra de uma licença comercial para contornar.

Os termos de licença adicionais do projeto Codon exigem que o código seja transferido para a Licença Apache 2.0 após 3 anos (1º de novembro de 2025). Até então, a licença permite a cópia, distribuição e modificação, desde que seja utilizada para fins não comerciais.

Share This Article
Follow:
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.