Codon is aA high-performance Python compiler that compiles Python code to native machine code without any runtime overhead.
Typical speedups for Python are on the order of 10-100x or more on a single thread,Performance is generally comparable to that of C/C++.But unlike Python, Codon supports native multithreading, which can make it many times faster. Codon is extensible through a plugin infrastructure, which allows users to incorporate new libraries, compiler optimizations and even keywords.
The Codon framework is fully modular and extensible, allowing seamless integration of new modules, compiler optimizations, domain-specific languages, etc., and new Codon extensions are actively developed for fields as diverse as bioinformatics and quantitative finance.
Install
each versionBoth provide prebuilt binaries for Linux (x86_64) and macOS (x86_64 and arm64). Download and install:
/bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)"
example
Codon is a Python-compatible language, and many Python programs will work with minor modifications:
def fib(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
fib(1000)
translatercodon
There are many options and modes:
# compile and run the program
codon run fib.py
# 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
codon run -release fib.py
codon build -release -exe fib.py ./fib
codon build -release -llvm fib.py
For more options and examples, seedocument.
Precautions
While Codon supports almost all of Python’s syntax, it’s not a drop-in replacement, and large codebases may require modification to run through the Codon compiler. For example, some Python modules are not yet implemented in Codon, and some dynamic features of Python are not allowed.
The Codon compiler generates detailed error messages to help identify and resolve any incompatibilities. Codon supports seamless Python interoperability for cases where specific Python libraries or dynamism are required.
#Codon #Homepage #Documentation #Downloads #High #Performance #Python #Compiler #News Fast Delivery