codon/docs
Ibrahim Numanagić 47a2745f06
Better Jupyter support & Polymorphism improvements (#363)
* Remove vtables from objects (use __id__ only); Add static itemgetter

* Migrate to XEUS 3

* Fix XEUS patches

* Fix docs [skip ci]

* Use tuples for RTTI classes

* clang-format

* Add polymorphic to IR RefType

* Pass isPolymorphic to IR

* Update codegen for new poly ref types

* New RTTI memory layout; Fix #346

* Ellipsis class; handle ellipses

* Move all generated magics to Codon (__magic__)

* Fix vars_types

* Update polymorphic setter

* Fix compiler warnings

* Fix pyext assert

* Update ellipsis

* Update pure/derives tags

* Update dataclass order magics

* Add pure/derives tags

* Fix partial printing

* Add extra tuple test

---------

Co-authored-by: A. R. Shajii <ars@ars.me>
2023-05-10 09:28:25 -04:00
..
advanced Better Jupyter support & Polymorphism improvements (#363) 2023-05-10 09:28:25 -04:00
img Fix image in docs 2023-01-08 21:47:53 -05:00
interop v0.16 (#335) 2023-04-12 18:13:54 -04:00
intro Fix typo [skip ci] 2023-04-13 17:35:53 -04:00
language Fix miscellaneous issues (#85) 2022-12-12 20:54:01 -05:00
README.md Fix image in docs 2023-01-08 21:47:53 -05:00
SUMMARY.md v0.16 (#335) 2023-04-12 18:13:54 -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.