Pyston v2.2: faster and open source

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • cinder

    Cinder is Meta's internal performance-oriented production version of CPython. (by facebookincubator)

    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

  • Pyston

    A faster and highly-compatible implementation of the Python programming language.

    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?

  • 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.

  • hpy

    HPy: a better API for Python

    > not fully compatible

    It's really quite close, and https://github.com/hpyproject/hpy is intended to make them even closer.

  • 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.

  • Pyjion

    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.

  • tinyknn

    A tiny approximate K-Nearest Neighbour library in Python based on Fast Product Quantization and IVF

    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.

  • Pyjion

    Pyjion - A JIT for Python based upon CoreCLR (by tonybaloney)

    Development of Pyjion continues here:

    https://github.com/tonybaloney/Pyjion

  • 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.

  • graalpython

    A Python 3 implementation built on GraalVM

    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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts