The Megahertz

The Megahertz

From core.py by Pablo Galindo and Łukasz Langa

July 12, 2025 · 1h 42m · Season 1 · Episode 24

About this episode

The episode discusses the new built-in sampling profiler in Python 3.15 and various related improvements and changes in the codebase.

Python 3.14? That's old news. Let's talk about the first big feature of Python 3.15 -- a built-in sampling profiler for Linux, macOS, and Windows. We also cover improvements in perf support, discuss memory.python.org, and as usual, recent changes in the codebase. ## Timestamps (00:00:00) INTRO (00:02:43) PART 1: THE SAMPLING PROFILER (00:05:07) Built-in profile is bad, long live cProfile (00:10:54) Out-of-process profiling (00:12:18) Shortcuts Compromise Accuracy, Leading Eventually to Numerous Errors (00:16:07) Selfish Łukasz vs benevolent Pablo (00:23:11) How does a sampling profiler even work? (00:30:42) One meeellion huuurtzzz (00:32:40) Free threading makes it extra spicy (00:41:26) AsyncIO makes it even spicier (00:49:49) You made this? I made this (00:54:06) What if the profiled process changes during sampling? (00:57:33) Coming in October 2026 (01:04:30) PART 2: PR OF THE WEEEEEEK (01:14:14) memory.python.org launched (01:23:15) PART 3: WHAT'S GOING ON IN CPYTHON (01:26:45) Performance updates (01:30:24) Features & Curiosities (01:41:45) OUTRO

People in this episode

Hosts: Pablo Galindo, Łukasz Langa

Topics covered

  • Python features
  • sampling profiler
  • performance improvements
  • cProfile
  • AsyncIO
  • memory management

Keywords

  • Python 3.15
  • sampling profiler
  • cProfile
  • performance updates
  • AsyncIO
  • memory management

Mentioned in this episode

Organizations: Linux, macOS, Windows, memory.python.org

Products: Python 3.14, Python 3.15

More episodes of core.py

Explore listener stats, chart rankings, contacts and more on the core.py podcast page.