pyccel
mypyc-benchmark-results
pyccel | mypyc-benchmark-results | |
---|---|---|
5 | 4 | |
331 | 10 | |
0.6% | - | |
9.2 | 9.4 | |
8 days ago | 3 days ago | |
Python | ||
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pyccel
-
Not to be taken serious lmao
check pyccel, it does the job
-
Help Writing a Compiler in Fortran
Pyccel is an active project that may interest you.
- Python extension language using accelerators
-
Mypyc: Compile type-annotated Python to C
There is also Pyccel https://github.com/pyccel/pyccel. When I last tried it, it worked on most small codes, but there were some bugs.
"The aim of Pyccel is to provide a simple way to generate automatically, parallel low level code. The main uses would be:
Convert a Python code (or project) into a Fortran or C code.
- Ask to contribute in a cuda project
mypyc-benchmark-results
-
LPython: Novel, Fast, Retargetable Python Compiler
This looks very cool ! There is also MyPyC which is not in the comparison table, but worth noting.
They have some benchmarks vs regular python here :
https://github.com/mypyc/mypyc-benchmark-results/blob/master...
One difference is that MyPyC compiles your code to a C extension, so your are still dependent on python. On the other hand you can call regular python libraries with the normal syntax while, in LPython, the "break-out" syntax to regular libraries isn't straightforward
In any case super exiting to see work going into AOT python
- Statically typed Python
-
I Want a New Duck
The post isn't about performance, and is aimed at people using Python for whatever reason, so, sure, retrofit away.
That said, if you care about the performance improvements that typing can give you with Mypy, you might want to look here:
https://github.com/mypyc/mypyc-benchmark-results/blob/master...
It won't be going toe to toe with Rust any time soon, but a 4x to 17x speedup is nothing to sneeze at.
-
Mypyc: Compile type-annotated Python to C
https://github.com/mypyc/mypyc-benchmark-results/blob/master...
What are some alternatives?
typed_python - An llvm-based framework for generating and calling into high-performance native code from Python.
mypy - Optional static typing for Python
mypyc - Compile type annotated Python to fast C extensions
cudf - cuDF - GPU DataFrame Library
fypp - Python powered Fortran preprocessor
pydantic - Data validation using Python type hints
lowtran - LOWTRAN atmospheric absorption extinction, scatter and irradiance model--in Python and Matlab
pex - A tool for generating .pex (Python EXecutable) files, lock files and venvs.
devito - DSL and compiler framework for automated finite-differences and stencil computation
pyre-check - Performant type-checking for python.