mypyc-benchmark-results
lpython
mypyc-benchmark-results | lpython | |
---|---|---|
4 | 2 | |
10 | 1,344 | |
- | 7.3% | |
9.4 | 9.8 | |
7 days ago | 4 days ago | |
C++ | ||
MIT License | GNU General Public License v3.0 or later |
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.
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...
lpython
-
LPython: Novel, Fast, Retargetable Python Compiler
Thank you! I opened up an issue to do this: https://github.com/lcompilers/lpython/issues/2220.
What are some alternatives?
mypy - Optional static typing for Python
lpython.org-deploy - Sources of deployed webpage behind https://lpython.org/
mypyc - Compile type annotated Python to fast C extensions
masr - Meta ASR: replacement for aging ASDL
typed_python - An llvm-based framework for generating and calling into high-performance native code from Python.
pyccel - Python extension language using accelerators
pydantic - Data validation using Python type hints
pex - A tool for generating .pex (Python EXecutable) files, lock files and venvs.
pyre-check - Performant type-checking for python.
typeguard - Run-time type checker for Python
beartype - Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python.