Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Episode 21: A Garbage Episode

1:57:34
 
Share
 

Manage episode 477536955 series 3522009
Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.

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

  continue reading

21 episodes

Artwork

Episode 21: A Garbage Episode

core.py

18 subscribers

published

iconShare
 
Manage episode 477536955 series 3522009
Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.

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

  continue reading

21 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Listen to this show while you explore
Play