Real Python Podcast E280 Title Image

Episode 280: Considering Fast and Slow in Python Programming

The Real Python Podcast

How often have you heard about the speed of Python? What’s actually being measured, where are the bottlenecks—development time or run time—and which matters more for productivity? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

Christopher shares an article titled “The Uselessness of ‘Fast’ and ‘Slow’ in Programming.” It digs into how the different aspects of software performance span a wide range of orders of magnitude, and how developers can obsess over irrelevant performance details, often losing more time working in suboptimal environments than building what they need with tools they already know.

We also discuss an article about why uv is fast, which explains how most of its speed comes from engineering decisions rather than just being written in Rust.

We then share several other articles and projects from the Python community, including a roundup of 2025 year-end lists, an explanation of why Python’s deepcopy can be so slow, serving a website with FastAPI using Jinja2, Python numbers every programmer should know, a discussion of spec-driven development and whether waterfall is back, a tool to detect whether a PDF has a bad redaction, and a CLI for measuring HTTP request phases.

Topics:

  • 00:00:00 – Introduction
  • 00:02:53 – Top Python Libraries of 2025
  • 00:04:43 – 2025 Python Year in Review
  • 00:04:58 – PyPI in 2025: A Year in Review
  • 00:05:36 – Join in the PSF Year-End Fundraiser & Membership Drive!
  • 00:06:10 – How uv Got So Fast
  • 00:12:29 – Why Python’s deepcopy Can Be So Slow
  • 00:17:03 – Serve a Website With FastAPI Using HTML and Jinja2
  • 00:23:19 – The Uselessness of “Fast” and “Slow” in Programming
  • 00:27:06 – Python Numbers Every Programmer Should Know
  • 00:28:17 – Video Course Spotlight
  • 00:29:43 – Spec-Driven Development: The Waterfall Strikes Back
  • 00:49:21 – x-ray: A Tool to Detect Whether a PDF Has a Bad Redaction
  • 00:52:20 – httptap: CLI Measuring HTTP Request Phases
  • 00:54:19 – Thanks and goodbye

2025 Top List Roundup

Topics:

  • How uv Got So Fastuv’s speed comes from engineering decisions, not just Rust. Static metadata, dropping legacy formats, and standards that didn’t exist five years ago.
  • Why Python’s deepcopy Can Be So Slow – “Python’s copy.deepcopy() creates a fully independent clone of an object, traversing every nested element of the object graph.” That can be expensive. Learn what it’s doing and how you can sometimes avoid the cost.
  • Serve a Website With FastAPI Using HTML and Jinja2 – Use FastAPI to render Jinja2 templates and serve dynamic sites with HTML, CSS, and JavaScript, then add a color picker that copies hex codes.
  • The Uselessness of “Fast” and “Slow” in Programming – “One of the unique aspects of software is how it spans such a large number of orders of magnitude.” The huge difference makes the terms “fast” and “slow” arbitrary. Read on to discover how this affects our thinking as programmers and what mistakes it can cause.
  • Python Numbers Every Programmer Should Know – Ever wonder how much memory an empty list takes? How about how long it takes to add two integers in Python? This post contains loads of performance data for common Python operations.

Discussion:

Projects:

Additional Links: