
Sign up to save your podcasts
Or


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
By Pablo Galindo and Łukasz Langa5
1818 ratings
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

44,035 Listeners

4,419 Listeners

2,004 Listeners

623 Listeners

582 Listeners

213 Listeners

988 Listeners

8,111 Listeners

10,318 Listeners

8,710 Listeners

6,116 Listeners

140 Listeners

5,536 Listeners

16,418 Listeners

379 Listeners