Codon: A high-performance Python compiler

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

    A high-performance, zero-overhead, extensible Python compiler using LLVM

    We do have a benchmark suite at https://github.com/exaloop/codon/tree/develop/bench and results on a couple different architectures at https://exaloop.io/benchmarks

  • mypyc

    Compile type annotated Python to fast C extensions

    > Note that the mypyc issue tracker lives in this repository! Please don't file mypyc issues in the mypy issue tracker.

    See https://github.com/mypyc/mypyc/blob/master/show_me_the_code....

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

  • ideas

    I got a massive jump in performance when moving from Python 3.8 to 3.10 (over some function call optimizations I think, based on the project). And 3.11 got even better (up to 50% faster on special cases, and 10~15% on average) with respect to 3.10. Python 3.12 is already getting even more speedups and a there's a lot more down the road[0].

    But Python core developers value keeping "not breaking anyones code" (Python 3 itself was a huge trip on that aspect and they're not making that mistake again), that's why things may seem slow on their end. But work is being done, and the results are there if you benchmark things.

    [0] See https://github.com/faster-cpython/ideas/blob/main/FasterCPyt... however that's over a year old already and I'm sure I've read/heard more specifics

  • topaz

    A high performance ruby, written in RPython

    It's not like you can just "merge" pypy into python, they are totally different implementations. CPython is written in C and PyPy is written in RPython which is a subset of the python language that gets compiled, into into an interpreter with JIT support. You can actually write an interpreter for any language using RPython and their toolset, for example Ruby https://github.com/topazproject/topaz

  • Cython

    The most widely used Python to C compiler

    How does this relate to

    https://cython.org/

    ?

    Would it be possible to write performance-sensitive parts of a Python system in Codon and link that to a CPython or PyPy runtime that supports more dynamic features?

  • Coconut

    Simple, elegant, Pythonic functional programming.

  • py2many

    Transpiler of Python to many other languages

    For py2many, there is an informal specification here:

    https://github.com/py2many/py2many/blob/main/doc/langspec.md

    Would be great if all the authors of "python-like" languages get together and come up with a couple of specs.

    I say a couple, because there are ones that support the python runtime (such as cython) and the ones which don't (like py2many).

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

  • Redis

    Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

    > Even Redis had to pivot to a business license.

    Wrong, Redis has a BSD-3 license: https://github.com/redis/redis

    Add-ons to Redis may have non-free licenses.

  • hpy

    HPy: a better API for Python

    The HPy project [0] seems like a promising way out of this.

    [0] https://hpyproject.org/

  • taichi

    Productive, portable, and performant GPU programming in Python.

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