Pyjion
pypy
Our great sponsors
Pyjion | pypy | |
---|---|---|
4 | 1 | |
1,439 | 726 | |
- | - | |
4.0 | 9.6 | |
over 3 years ago | 2 days ago | |
C++ | Python | |
- | 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.
Pyjion
-
Pyjion, a drop-in JIT compiler for Python 3.10 is now v1.0
Looks like it was started at Microsoft, the tonybaloney/Pyjion was forked from microsoft/Pyjion.
-
Why Python 4.0 might never arrive, according to its creator
Pyjion is a Microsoft project that adds a JIT leveraging CoreCLR.
-
Pyston v2.2: faster and open source
https://github.com/microsoft/Pyjion was a really nice attempt to marry CPython with JIT in a rather generic way, but it was abandoned quickly.
-
Cinder: Instagram's performance oriented fork of CPython
There are articles like https://instagram-engineering.com/dismissing-python-garbage-... which seem to confirm some problems. One of the people involved with this Cinder project was an original author of https://github.com/microsoft/Pyjion (it's now being revamped by a new dev.) Dino had deep .NET/CLR implementation experience and had been the lead for IronPython which I think spawned the interest in perf improvements through Cinder. I hope this effort is more successful for him.
pypy
-
PyPy v7.3.16 Release
You'll note I said I was playing with RPython, not PyPy. In my case, I was playing with writing a small interpreter, and comparing the RPython toolchain with the Truffle/Graal framework.
Writing RPython code, even if one is not developing or contributing to PyPy, means writing within a subset of python 2.
> RPython ("Restricted Python") is a subset of Python 2
https://www.pypy.org/posts/2022/04/how-is-pypy-tested.html
And RPython's translator specifically uses pypy, and uses python 2 syntax:
https://github.com/pypy/pypy/blob/main/rpython/bin/rpython#L...
... so getting the RPython toolchain (even if one is intending to improve the PyPy 3+ interpreters) requires setting up a pypy 2 interpreter. Hence the question in my post.
What are some alternatives?
PyPy
Cython - The most widely used Python to C compiler
Pyston - A faster and highly-compatible implementation of the Python programming language.
Stackless Python
PeachPy - x86-64 assembler embedded in Python
pypy - The unofficial GitHub mirror of PyPy (mirrored via https://github.com/mozillazg/job-mirror-hg-repos)
cinder - Cinder is Meta's internal performance-oriented production version of CPython.
pipx - Install and Run Python Applications in Isolated Environments
MonkeyType - A Python library that generates static type annotations by collecting runtime types
Pyjion - Pyjion - A JIT for Python based upon CoreCLR
Cinder - Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
tinyknn - A tiny approximate K-Nearest Neighbour library in Python based on Fast Product Quantization and IVF