vision dead 2014

CPython Pyston

A performance-focused Python implementation started at Dropbox in 2014, rebooted in 2020 as a CPython 3.8 fork achieving ~30% speedup on web workloads. Later joined Anaconda before being discontinued.

What it is

V1: From-scratch Python 2.7 with LLVM-based JIT, conservative tracing GC. V2: CPython 3.8 fork with inline caching, type specialization, and a custom JIT compiler. 'Pyston Lite' offered as a pip-installable extension for ~10% speedup without replacing the interpreter.

The story

Pyston was started at Dropbox in 2014 by Kevin Modzelewski and colleagues to reduce the costs of Dropbox's rapidly growing Python server fleet. Pyston v1 was a from-scratch implementation of Python 2.7 featuring a conservative tracing garbage collector and LLVM-based compilation tiers. By version 0.6.1, it achieved nearly 2x CPython performance on some benchmarks and 48% faster on web workloads, but compatibility with existing Python packages remained a major challenge.

In 2017, Dropbox ended its involvement with Pyston, choosing instead to rewrite performance-critical code in Go and other languages. The project appeared dead. However, in 2019, lead developers Kevin Modzelewski and Marius Wachtler regrouped independently and took a radically different approach: rather than reimplementing Python from scratch, they forked CPython 3.8 directly. This became Pyston v2, released in late 2020, achieving approximately 20% faster performance than stock CPython 3.8.

Subsequent releases improved performance significantly: Pyston v2.2 claimed 30% faster on web server benchmarks, and later versions reached up to 66% total speedup over stock CPython. The project also offered 'Pyston Lite,' a lighter-weight extension achieving roughly 10% speedup. In August 2021, the Pyston team joined Anaconda, which provided funding and packaging expertise.

The Pyston GitHub repository is now marked as 'no longer maintained,' with the cinderx project from Meta being referenced as a related effort. Pyston's journey mirrors a broader pattern: corporate-funded Python performance work that struggles to sustain itself independently.

Timeline

Pyston v1 started at Dropbox as from-scratch Python 2.7 implementation

Dropbox ends involvement with Pyston

Pyston v2 rebooted as CPython 3.8 fork, ~20% faster

Pyston v2.2 achieves ~30% speedup; team joins Anaconda

Project no longer actively maintained

Key people

Kevin Modzelewski
Co-creator, lead developer
Marius Wachtler
Co-creator, lead developer

Impact

Demonstrated that meaningful speedups are achievable by forking CPython and adding JIT compilation. Contributed to the broader conversation about Python performance that led to the official Faster CPython project. The v2 approach of forking CPython rather than reimplementing from scratch proved more practical than the v1 from-scratch approach.

Lesson: Forking the reference implementation (v2 approach) is far more practical than reimplementing from scratch (v1). Compatibility is the single biggest challenge for alternative Python runtimes. Even with good performance results, sustaining an alternative Python runtime requires significant ongoing funding.

Related forks