Codon é um compilador Python de alto desempenho que compila código Python para código de máquina nativo sem qualquer sobrecarga de tempo de execução.
O compilador foi escrito com C++ e utiliza LLVM como optimizador de código Assembly final. Ao contrário do Python, o Codon suporta multithreading nativo, o que pode levar a acelerações ainda maiores.
Você pode compilar o Codon na sua máquina, no entanto, existem binários pré-compilados para Linux e macOS.
No caso do Linux basta rodar esse comando abaixo:
É necessário possuir o cURL instalado.
Ao final da instalação ele pedirá para você confirmar a adição do binário à sua variável $PATH
, tecle y
para sim. Se não funcionar, mesmo abrindo em um novo terminal, como ele mesmo orienta, rode os seguintes comandos:
Para testar rode:
Suponhamos que você possua esse código Python que é uma função Fibonacci, você pode interpretar o código com o próprio Codon:
Para rodar sem compilar:
No entanto, o desempenho não será muito bom. O correto mesmo é você compilar esse código para um binário e então rodar o binário, exemplo:
Você ainda pode compilar com optimização do LLVM
Quando utilizamos um loop for
com 1 milhão de ciclos em Python, como fizemos nesse vídeo, o Codon foi cerca de 600% mais veloz que o interpretador nativo(versão 3.10.9
).
O arquivo/código de teste pode ser obtido aqui.
/usr/bin/python
Ou seja, execução real: mais de 6 segundos. 😞
codon
Execução real: em menos de 1 segundo!!! 😲