Tag

CPython

0 views collected around this technical thread.

Python Programming Learning Circle
Python Programming Learning Circle
Jun 6, 2025 · Fundamentals

Why Making Python Faster Is Hard—and Worth the Effort

Optimizing Python is challenging due to its dynamic nature, but various strategies—from using NumPy, Numba, and Cython to upcoming CPython enhancements like adaptive specialization, JIT, and GIL‑free versions—show promise for improving performance while preserving the language’s flexibility.

CPythonDynamic TypingJIT
0 likes · 7 min read
Why Making Python Faster Is Hard—and Worth the Effort
Python Programming Learning Circle
Python Programming Learning Circle
Mar 13, 2025 · Fundamentals

PEP 703 No‑GIL Proposal: Steering Council Update and Implementation Roadmap

Recent updates from the Python Steering Council indicate a positive response to PEP 703, which proposes making the Global Interpreter Lock optional in CPython, outlining short‑, medium‑, and long‑term plans for experimental no‑GIL builds, community support, and potential default adoption.

CPythonPEP703Python
0 likes · 4 min read
PEP 703 No‑GIL Proposal: Steering Council Update and Implementation Roadmap
Python Programming Learning Circle
Python Programming Learning Circle
Mar 11, 2025 · Fundamentals

Understanding Free‑Threaded Python: Removing the GIL in CPython 3.13

The article explains the launch of py‑free‑threading.github.io, describes the Global Interpreter Lock (GIL) and its performance impact, introduces PEP 703 which makes the GIL optional, and outlines why free‑threaded Python in CPython 3.13 is a significant step for multithreaded performance.

CPythonFree ThreadingGIL
0 likes · 4 min read
Understanding Free‑Threaded Python: Removing the GIL in CPython 3.13
DevOps Engineer
DevOps Engineer
Jan 20, 2025 · Fundamentals

Simplifying CPython Copyright Notices: Lessons from Issue gh-126133

The article examines CPython issue gh‑126133 where Hugo van Kemenade proposed simplifying the project's copyright notice by keeping only the first publication year, discusses legal feedback from the PSF, compares practices of major open‑source projects, and concludes with the accepted change merged into the main branch.

CPythonSoftware Licensingcopyright
0 likes · 9 min read
Simplifying CPython Copyright Notices: Lessons from Issue gh-126133
Python Programming Learning Circle
Python Programming Learning Circle
Aug 16, 2024 · Fundamentals

The Shannon Plan: Faster CPython Initiatives for Python 3.13

Mark Shannon’s “Shannon Plan” for Faster CPython outlines three parallel initiatives—Tier 2 optimizer, enabling sub‑interpreters via PEP 554, and memory‑management improvements—aimed at making Python up to five times faster by Python 3.13, with Microsoft joining the effort.

CPythonInterpreterPEP 554
0 likes · 4 min read
The Shannon Plan: Faster CPython Initiatives for Python 3.13
Python Programming Learning Circle
Python Programming Learning Circle
Jul 1, 2024 · Fundamentals

Python 3.12 App Store Rejection Caused by an itms‑services String and CPython’s Planned Fix

Upgrading Python from 3.11 to 3.12 introduced an "itms‑services" string in the standard library, causing macOS App Store rejections, which led developers and CPython core contributors to discuss the issue, propose patches, and plan a compliance option for future Python releases.

App StoreCPythonCompliance
0 likes · 11 min read
Python 3.12 App Store Rejection Caused by an itms‑services String and CPython’s Planned Fix
Architecture Development Notes
Architecture Development Notes
Jun 19, 2024 · Backend Development

How to Build High‑Performance Python Extensions with Rust (Step‑by‑Step Guide)

Learn how to create native Python extension modules using Rust, set up the required tools, write and build the Rust code, and run Python scripts from a Rust binary, enabling you to combine Rust's performance and safety with Python's flexibility.

CPythonExtension ModuleMaturin
0 likes · 6 min read
How to Build High‑Performance Python Extensions with Rust (Step‑by‑Step Guide)
Python Programming Learning Circle
Python Programming Learning Circle
Jan 19, 2024 · Fundamentals

Understanding Python's Copy‑and‑Patch JIT Compiler in CPython 3.13

This article explains the concept of Just‑In‑Time compilation for Python, introduces the copy‑and‑patch JIT proposed for CPython 3.13, shows how it works with bytecode templates, compares it to traditional JIT approaches, and presents simple benchmark results and implementation details.

CPythonCopy-and-PatchInterpreter
0 likes · 13 min read
Understanding Python's Copy‑and‑Patch JIT Compiler in CPython 3.13
Python Programming Learning Circle
Python Programming Learning Circle
Aug 2, 2023 · Fundamentals

Python's Global Interpreter Lock (GIL) Becomes Optional: Details and Roadmap

The article explains that the Python community is planning to make the Global Interpreter Lock optional, describing what the GIL is, its limitations, the contributions behind the change, and a multi‑stage roadmap from experimental builds in Python 3.13/3.14 to a long‑term default no‑GIL configuration.

CPythonConcurrencyGIL
0 likes · 6 min read
Python's Global Interpreter Lock (GIL) Becomes Optional: Details and Roadmap
Python Programming Learning Circle
Python Programming Learning Circle
Jul 24, 2023 · Fundamentals

Meta Supports PEP 703: Making the GIL Optional in CPython

Meta is backing PEP 703, which proposes adding a --disable-gil build option to CPython so that Python code can run without the Global Interpreter Lock, improving multithreaded performance on multi‑core CPUs, with Meta promising engineering resources to help implement it by 2025.

CPythonGILMeta
0 likes · 3 min read
Meta Supports PEP 703: Making the GIL Optional in CPython
IT Services Circle
IT Services Circle
Jul 14, 2023 · Fundamentals

Meta Supports PEP 703 to Make the CPython GIL Optional

Meta is promoting PEP 703, which proposes adding a --disable-gil build option to CPython so Python can run without the Global Interpreter Lock, and has pledged three engineer‑years by 2025 to help implement the change, while also noting its Threads product already runs on a heavily modified CPython backend.

CPythonConcurrencyGIL
0 likes · 3 min read
Meta Supports PEP 703 to Make the CPython GIL Optional
Python Programming Learning Circle
Python Programming Learning Circle
Mar 31, 2023 · Fundamentals

Microsoft’s Faster CPython Team Aims to Accelerate Python Performance

Microsoft announced a dedicated Faster CPython team, led by Mark Shannon and Guido van Rossum, to boost Python’s execution speed through a multi‑stage plan that has already delivered 10‑60% performance gains in Python 3.11 while emphasizing community collaboration and open‑source contributions.

CPythonMicrosoftPerformance
0 likes · 5 min read
Microsoft’s Faster CPython Team Aims to Accelerate Python Performance
Python Programming Learning Circle
Python Programming Learning Circle
Aug 2, 2022 · Fundamentals

Understanding Python's Integer Caching and Reference Counting

The article explains how CPython implements integers as variable‑length base‑2³⁰ arrays, pre‑allocates the small‑integer range –5 to 256 as singleton objects for performance, and demonstrates the effect of this caching using the id() function and reference‑count analysis.

CPythonMemory OptimizationPython
0 likes · 5 min read
Understanding Python's Integer Caching and Reference Counting
Python Programming Learning Circle
Python Programming Learning Circle
May 21, 2022 · Fundamentals

Updates on the Python nogil Project and GIL Removal Efforts

At the 2022 Python Language Summit, Sam Gross presented the latest progress on the nogil project, targeting Python 3.9, discussing new lock designs, proposed compiler flags to disable the GIL in Python 3.12, and the potential impact on third‑party libraries and CPython development.

CPythonConcurrencyGIL
0 likes · 6 min read
Updates on the Python nogil Project and GIL Removal Efforts
ByteDance Terminal Technology
ByteDance Terminal Technology
Feb 22, 2022 · Fundamentals

Optimizing CPython for True Parallel Execution: Implementing a Multi-Interpreter Architecture

This article details a novel approach to overcoming CPython's Global Interpreter Lock by implementing a multi-interpreter architecture that isolates execution states, manages shared variables through thread-specific data, and introduces a subinterpreter pool to significantly enhance multi-core CPU utilization and algorithm execution performance.

CPythonConcurrencyGIL Optimization
0 likes · 15 min read
Optimizing CPython for True Parallel Execution: Implementing a Multi-Interpreter Architecture
Python Programming Learning Circle
Python Programming Learning Circle
Jun 8, 2021 · Mobile Development

Challenges of Running Python on Mobile Devices and the BeeWare Project

The article examines why Python struggles on mobile devices and browsers, discusses the BeeWare project's effort to run CPython on Android, highlights technical and resource challenges, funding issues, and Guido van Rossum’s perspective on focusing Python on backend and scientific domains.

BeeWareCPythonMobile Development
0 likes · 8 min read
Challenges of Running Python on Mobile Devices and the BeeWare Project
Python Programming Learning Circle
Python Programming Learning Circle
Jun 3, 2020 · Fundamentals

Understanding CPython's Memory Management (Python 2.7)

This article explains how CPython implements its own memory‑management scheme—including the layered allocation model, pool and arena structures, block size classes, and reference‑count‑based reclamation—by dissecting the source code of Python 2.7’s obmalloc module.

CPythonGarbage CollectionObmalloc
0 likes · 23 min read
Understanding CPython's Memory Management (Python 2.7)
Python Programming Learning Circle
Python Programming Learning Circle
Feb 4, 2020 · Fundamentals

Boost Python Speed 7×: How PyPy Outperforms CPython

This article explains why Python is popular yet slower than compiled languages, introduces PyPy as a drop‑in replacement for CPython that uses JIT compilation to accelerate code by an average of 7.6×, and outlines its workings, benefits, and limitations.

CPythonInterpreterJIT
0 likes · 8 min read
Boost Python Speed 7×: How PyPy Outperforms CPython
Efficient Ops
Efficient Ops
Dec 27, 2018 · Fundamentals

Why Python Lists Aren’t Pre‑Allocated: Inside CPython’s Memory Management

Python’s list type appears flexible, but its underlying CPython implementation uses a dynamic resizing strategy without a pre‑allocated memory pool, allocating memory on demand via list_resize and PyMem_RESIZE, which this article explains through code analysis, memory size measurements, and practical recommendations.

CPythonPerformancePython
0 likes · 13 min read
Why Python Lists Aren’t Pre‑Allocated: Inside CPython’s Memory Management