Our great sponsors
-
cinder
Cinder is Meta's internal performance-oriented production version of CPython. (by facebookincubator)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Nuitka
Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
-
tinyknn
A tiny approximate K-Nearest Neighbour library in Python based on Fast Product Quantization and IVF
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Pyston originally started as an internal project at Dropbox and they had a couple of super interesting blogposts where they detailed their approach and findings[0]. After a a year or two, the project got axed, but the devs kept working on it and then released it on their own (I don't remember the details, but evidently the chosen license for the project allowed that).
Last year (I think it was last year, but can't tell if that was 2020 or 2019) they released it on their own, thinking of a commercial model. Now they have switched to OSS+services, which is interesting because it'llopen up more people using Pyston.
I tihnk this is interesting in its own right, but yesterday we got Facebook announcing Cinder[1] -- which is unsupported to outsiders, but significantly faster than Pyston. According to Facebook, they intend for parts of Cinder to be upstreamed (and have already upstreamed a few, apparently) to CPython. So again, and sorry for using such a vague word, it'll be interesting to see how all these things play out in time.
[0] https://blog.pyston.org/2014/09/
[1] https://github.com/facebookincubator/cinder
https://github.com/pyston/pyston
> Pyston is a fork of CPython with additional optimizations for performance. It is targeted at large real-world applications such as web serving, delivering up to a 30% speedup with no development work required.
I did not really found any information on what type of additional optimizations are done. Is there some documentation which goes into that?
> not fully compatible
It's really quite close, and https://github.com/hpyproject/hpy is intended to make them even closer.
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.
With Cython you can get C level performance. The cost is that your Python code has to be written just as you would write C.
See e.g. https://github.com/thomasahle/fast_pq/blob/main/_fast_pq.pyx... for how much fast Cython code can look like C.
Development of Pyjion continues here:
https://github.com/tonybaloney/Pyjion
I'd say graal is even less mature than Pyston. See https://github.com/oracle/graalpython/tree/master/docs/user
> At this point, the Python runtime is made available for experimentation and curious end-users.