codon/docs
A. R. Shajii f4323a80a2
Fix miscellaneous issues (#85)
* Fix #75

* Build on macOS 11 for #72

* Fix #76

* Fix test

* Fix generator example in docs

* Fix Python/Cython packaging; Fix #80

* Fix tests

* Fix tests

* Fix tests

* Fix tests

* Fix syntax

* Fix CI

* Fix CI

* Fix CI; Dominate imported bindings

* Fix CI; Dominate imported bindings

* Fix .gitignore

* Fix tests

* Fix rm command

* Format

* clang-format

* Organize and optimize string formatting

* Fix format error message

Co-authored-by: Ibrahim Numanagić <ibrahimpasa@gmail.com>
2022-12-12 20:54:01 -05:00
..
advanced Dynamic Polymorphism (#58) 2022-12-04 19:45:21 -05:00
img Update docs (#28) 2022-07-26 16:08:42 -04:00
interop Dynamic Polymorphism (#58) 2022-12-04 19:45:21 -05:00
intro Update links [skip ci] 2022-12-05 10:40:23 -05:00
language Fix miscellaneous issues (#85) 2022-12-12 20:54:01 -05:00
README.md Update docs (#28) 2022-07-26 16:08:42 -04:00
SUMMARY.md GPU and other updates (#52) 2022-09-15 15:40:00 -04:00
docgen.py Update docs (#28) 2022-07-26 16:08:42 -04:00

README.md

Codon Pipeline

Codon is a high-performance Python compiler that compiles Python code to native machine code without any runtime overhead. Typical speedups over Python are on the order of 100x or more, on a single thread. Codon supports native multithreading which can lead to speedups many times higher still.

The Codon framework is fully modular and extensible, allowing for the seamless integration of new modules, compiler optimizations, domain-specific languages and so on. We actively develop Codon extensions for a number of domains such as bioinformatics and quantitative finance.

Codon at a glance

A simple Python program fib.py...

from time import time

def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)

t0 = time()
ans = fib(40)
t1 = time()
print(f'Computed fib(40) = {ans} in {t1 - t0} seconds.')

... run through Python and Codon:

$ python3 fib.py
Computed fib(40) = 102334155 in 17.979357957839966 seconds.
$ codon run -release fib.py
Computed fib(40) = 102334155 in 0.275645 seconds.