Navigated to Episode 21: A Garbage Episode
core.py

·S1 E21

Episode 21: A Garbage Episode

April 17
1h 57m

Episode Description

We talked about this episode for months now, and it's finally here. Garbage collection in its full glory. Classic and free-threaded. Generational and single-pass. With eager and delayed untracking. We cover it all! Explicitly.


## Timestamps


(00:00:00) THE FUCKING INTRO

(00:02:03) PART 0: SPORTS NEWS

(00:03:19) PART 1: GARBAGE COLLECTION

(00:03:57) The big problem with refcounting

(00:08:35) Solving reference cycles through PyGC_Head

(00:11:45) 64 bits ought to be enough for anybody

(00:17:30) Why a doubly-linked list?

(00:21:15) How reference counting makes finding cycles easier

(00:26:25) Roots bloody roots

(00:30:17) How are objects in the cycle destroyed?

(00:31:58) Object resurrection

(00:43:21) Why do you need "generations"?

(00:52:26) Delayed untracking

(00:54:46) Weak references, strong problems

(00:59:19) GC in free threading

(01:03:27) Reference counting in free-threading builds

(01:10:08) Incremental GC talk is DEFERRED

(01:11:00) PART 2: PR OF THE WEEK

(01:17:15) Type checking the standard library itself?

(01:29:51) PART 3: WHAT'S GOING ON IN CPYTHON?

(01:30:15) Free-threading changes

(01:32:54) Performance updates

(01:36:11) http.server supports HTTPS!

(01:37:01) PEP 768 and 758 landed

(01:37:34) HACL*

(01:38:24) fnmatch.filterfalse()

(01:38:54) Bugfixes

(01:42:46) Curiosities

(01:54:49) OUTRO

See all episodes

Never lose your place, on any device

Create a free account to sync, back up, and get personal recommendations.