After we talked about memory allocation in Python back in Episode 16, we're ready to complain, uh, explain reference counting. Or at least throw a bunch of reference counting facts at you. Plus a big assortment of recent Python changes. You ready?


## Timestamps


(00:00:00) INTRO

(00:04:17) PART 0: SPORTS NEWS

(00:06:53) PART 1: REFERENCE COUNTING

(00:08:28) New segment of 2025

(00:13:54) C++ is asymptotic Python

(00:15:37) Is Rust game yet?

(00:18:01) Names

(00:20:25) Breaking the law

(00:23:08) sys.getrefcount()

(00:25:21) Pedantic Pablo

(00:26:06) sys.gettotalrefcount()

(00:31:24) TraceRefs

(00:33:28) Advantages of refcounting

(00:36:16) Disadvantages of refcounting

(00:38:40) Reference cycles

(00:40:39) Multithreading

(00:41:25) When refcounting goes wrong

(00:44:05) Freeing memory in Python doesn't return it to the OS

(00:45:42) Leaks and cycles redux

(00:50:29) Double free

(00:53:05) Avoiding reference counting

(00:54:59) Immortal objects

(01:00:40) PART 2: WHAT'S GOING ON IN CPYTHON

(01:02:43) New features

(01:04:11) Assorted interesting changes

(01:15:23) Performance

(01:18:09) Free-threading changes galore

(01:27:02) AsyncIO

(01:34:25) Windows changes

(01:36:45) Security

(01:37:20) OUTRO


Podden och tillhörande omslagsbild på den här sidan tillhör Pablo Galindo and Łukasz Langa. Innehållet i podden är skapat av Pablo Galindo and Łukasz Langa och inte av, eller tillsammans med, Poddtoppen.

core.py

Episode 18: Reference Counting

00:00