Fundamentals 4 min read

How the Shannon Plan Aims to Make CPython 5× Faster

Guido van Rossum’s recent “Making CPython Faster” talk reveals the Shannon Plan—a four‑year effort, backed by Microsoft, to boost Python’s performance up to five times, with the first milestone targeting a 2× speedup in the upcoming Python 3.11 release through adaptive bytecode interpreters and other optimizations.

Python Crawling & Data Mining
Python Crawling & Data Mining
Python Crawling & Data Mining
How the Shannon Plan Aims to Make CPython 5× Faster

About six months ago I saw a post proposing a plan to make Python five times faster and looking for funding, but I didn’t follow up. At the 2021 Python Language Summit on May 13, Guido van Rossum presented “Making CPython Faster,” confirming the plan is underway.

Guido, now retired and working at Microsoft, formed a small team with Eric Snow (a core Python developer and senior engineer at Microsoft) and Mark Shannon (the original proposer, an expert in Python performance research).

The effort, called the “Shannon Plan,” aims to increase Python’s speed by a factor of five over four years—approximately 1.5× per year. The short‑term goal is to achieve at least a 2× speedup in Python 3.11.

According to the official release schedule, Python 3.10 is slated for October this year, and Python 3.11 will be released in October 2022.

How will Python 3.11 achieve a 2× speedup? The first optimization is an adaptive, specialized bytecode interpreter, already drafted in PEP‑659.

Other optimization areas include:

Optimizing the frame stack, faster function calls, and tweaking memory allocation.

“Zero‑overhead” exception handling.

Additional work (shown in the following slide) focuses on further interpreter and runtime improvements while preserving API compatibility and code maintainability.

All these changes must maintain backward compatibility and keep the codebase maintainable.

The full presentation material (PDF) can be obtained by replying “0516” to the Python猫 account.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

performancePythoninterpreterCPythonGuido van RossumPEP 659
Python Crawling & Data Mining
Written by

Python Crawling & Data Mining

Life's short, I code in Python. This channel shares Python web crawling, data mining, analysis, processing, visualization, automated testing, DevOps, big data, AI, cloud computing, machine learning tools, resources, news, technical articles, tutorial videos and learning materials. Join us!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.