Episode 21: A Garbage Episode episode artwork

EPISODE · Apr 17, 2025 · 1H 57M

Episode 21: A Garbage Episode

from core.py · host Pablo Galindo and Łukasz Langa

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

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

NOW PLAYING

Episode 21: A Garbage Episode

0:00 1:57:34

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

Rich Dad's Guide to Investing II Robert T. Kiyosaki II Full Audiobook II Robert T. Kiyosaki Investing means different things to different people… and there is a huge difference between passive investing and becoming an active, engaged investor. Rich Dad’s Guide to Investing, one of the three core titles in the Rich Dad Series, covers the basic rules of investing, how to reduce your investment risk, how to convert your earned income into passive income… plus Rich Dad’s 10 Investor Controls.The Rich Dad philosophy makes a key distinction between managing your money and growing it… and understanding key principles of investing is the first step toward creating and growing wealth. This book delivers guidance, not guarantees, to help anyone begin the process of becoming an active investor on the road to financial freedom. Growth Triggers Luis Diaz Discover how to use your podcast to generate leads, sales, and influence in any market.On this show Luis shares his best tested and proven secrets, tips, and strategies from launching over 300 podcasts in over a dozen different niches and generating over 59 Million Downloads for his clients.Learn how to increase your podcast listenership, create multiple new revenue streams with your podcast, sell more of your core offer and build a show that gives you leverage and authority in your space. From picking the right monetization strategy for your podcast to learning how to position your podcast in a crowded market on Apple and Spotify; this is show is the ultimate marketing and sales resource for online business owners who want to know what works with podcasting.Get in touch over on Instagram <a target="_blank" rel="noopener noreferrer nofollow" class="link" href="https://www.instagram.com/luisr The Soundless Flame Its-all-here A flame that has no fire A song without a sound I Am the deep desire The stillness all around Reveal the core, O Spirit The place no thought can claim Before all worlds inherit I Am the soundless flame

Frequently Asked Questions

How long is this episode of core.py?

This episode is 1 hour and 57 minutes long.

When was this core.py episode published?

This episode was published on April 17, 2025.

What is this episode about?

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)...

Can I download this core.py episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!