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.
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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
