Advanced Python: Achieving High Performance with Code Generation

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. mypyc

    Compile type annotated Python to fast C extensions

    Or you could start with mypyc [1] first and if the results do not please you, then you can use Cython; some folks don't want to learn yet another programming syntax, even though it's Pythonic enough to learn it in a rather short period of time, but still...

    https://github.com/mypyc/mypyc

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. PyO3

    Rust bindings for the Python interpreter

  4. maturin

    Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages

  5. ferocity

    Write Java expression trees, statements, methods and classes with a LISP-like internal DSL

    A while back I concluded that you could code up most of the examples from

    https://www.amazon.com/Paradigms-Artificial-Intelligence-Pro...

    in Python without doing anything too out of the ordinary. I just finished

    https://www.amazon.com/Lisp-Advanced-Techniques-Common/dp/01...

    and came to almost the same conclusion in that most of the macro use in that book is in the syntactic sugar or performance optimization category and I didn't have a lot of projects in the queue and people demanding my time I'd try coding up the ATN and Prolog examples in Python (sorta kinda did the "CLOS" example in that I built a strange kind of meta-object facility that made "objects" backed by RDF triples)

    In Java I did enough hacking on this project

    https://github.com/paulhoule/ferocity/blob/main/ferocity0/sr...

    to conclude I could create something that people who think "Java Sux" and "Common Lisp Sux" would really hate. If I went forward on that it would be to try "code golf not counting POM file size" by dividing ferocity into layers (like that ferocity0 which is enough to write a code generator that can stub the whole stdlib) so I could use metaprogramming to fight back against the bulkification you get from writing Java as typed S-expressions. (I'm pretty sure type erasure can be dealt with if you aren't interested in JDK 10+ features like var and switch expressions, on the other hand a system like that doesn't have to be able to code generate syntactic sugar sorts of structures because ferocity is all about being able to write syntatic sugar)

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

  • Accepting Bitcoin payments with Python, Rust and PyO3

    3 projects | dev.to | 22 Jul 2024
  • Building a Vector Index in Azure AI Search: HNSW, Profiles, and RAG Retrieval

    2 projects | dev.to | 2 Jun 2026
  • Aspire – orchestrate front ends, APIs, containers, and databases

    1 project | news.ycombinator.com | 24 May 2026
  • How to write and publish a Python package to PyPI

    3 projects | dev.to | 11 May 2026
  • Nobody Reviews Compiler Output

    3 projects | news.ycombinator.com | 7 May 2026

Did you know that Rust is
the 3rd most popular programming language
based on number of references?