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.
Course Spotlight: Jinja Templating
With Jinja, you can build rich templates that power the front end of your web applications. But you can also use Jinja without a web framework running in the background. Whenever you need to generate text files with dynamic content, Jinja provides a flexible and powerful solution.
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
uvGot So Fast - 00:12:29 – Why Python’s
deepcopyCan 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
- Top Python Libraries of 2025 – Explore Tryolabs’ 11th annual Top Python Libraries roundup, featuring two curated Top 10 lists: one for General Use and one for AI/ML/Data tools.
- 2025 Python Year in Review – Talk Python interviews Barry Warsaw, Brett Cannon, Gregory Kapfhammer, Jodie Burchell, Reuven Lerner, and Thomas Wouters, and the panel discusses what mattered for Python in 2025.
- PyPI in 2025: A Year in Review – Dustin summarizes all the happenings with the Python Packaging Index in 2025, including 130,000 new projects and over 2.5 trillion requests served.
- Join in the PSF Year-End Fundraiser & Membership Drive!
Topics:
- How
uvGot So Fast –uv’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
deepcopyCan Be So Slow – “Python’scopy.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:
- Spec-Driven Development: The Waterfall Strikes Back
- Coding has never been the bottleneck - Rob Bowley
Projects:
- x-ray: A Tool to Detect Whether a PDF Has a Bad Redaction
- httptap: CLI Measuring HTTP Request Phases
Additional Links:
- Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv – The Real Python Podcast
- Primer on Jinja Templating – Real Python
- Get Started With FastAPI – Real Python
- Teach Yourself Programming in Ten Years




