Episode 16: Memory Allocation episode artwork

EPISODE · Oct 29, 2024 · 1H 45M

Episode 16: Memory Allocation

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

How does Python handle memory? Why does it need to perform custom forms of memory allocation? We talk about all that in this episode. We don't talk about Easter eggs, and we never mention Brandt by name, as promised last time! ## Timestamps (00:00:00) INTRO (00:00:22) PART 0: SPORTS NEWS (00:01:57) PART 1: MEMORY ALLOCATION (00:03:46) If you write C correctly, it manages memory for you (00:05:38) malloc and the heap (00:09:31) High-level allocators (00:10:48) pymalloc (00:11:15) 512 is a good number (00:12:43) Memory domains in pymalloc (00:15:09) Why is pymalloc faster than just using malloc? (00:20:16) To free or not to free (00:26:35) User-facing features of pymalloc (00:30:40) Łukasz replaced by an LLM Sim... almost (00:32:58) Debugging help with marked memory (00:39:24) 8-byte alignment (00:42:27) cymem (00:45:08) tracemalloc (00:49:12) memray (00:50:47) Coding like an ultravillain (00:55:22) Complaining about Apple (01:01:45) PART 2: PR OF THE WEEK (01:13:46) Pablo's buildbot release status page (01:18:26) PART 3: WHAT'S GOING ON IN CPYTHON (01:18:52) PEP 762 (01:22:30) PEP 758 (01:26:10) Performance updates (01:29:14) Argparse suggests correct spelling (01:30:13) Fraction.from_number() and Decimal.from_number() (01:30:39) switched in contextvars (01:31:42) Better type annotations in pydoc signatures (01:33:33) Fixes in TaskGroup and _PyFuture ref cycles (01:34:03) Data race in ZoneInfo (01:35:53) Testing certificates set to expire far in the future (01:36:32) InternalDocs (01:40:22) There are no Easter eggs (01:40:42) OUTRO

How does Python handle memory? Why does it need to perform custom forms of memory allocation? We talk about all that in this episode. We don't talk about Easter eggs, and we never mention Brandt by name, as promised last time! ## Timestamps (00:00:00) INTRO (00:00:22) PART 0: SPORTS NEWS (00:01:57) PART 1: MEMORY ALLOCATION (00:03:46) If you write C correctly, it manages memory for you (00:05:38) malloc and the heap (00:09:31) High-level allocators (00:10:48) pymalloc (00:11:15) 512 is a good number (00:12:43) Memory domains in pymalloc (00:15:09) Why is pymalloc faster than just using malloc? (00:20:16) To free or not to free (00:26:35) User-facing features of pymalloc (00:30:40) Łukasz replaced by an LLM Sim... almost (00:32:58) Debugging help with marked memory (00:39:24) 8-byte alignment (00:42:27) cymem (00:45:08) tracemalloc (00:49:12) memray (00:50:47) Coding like an ultravillain (00:55:22) Complaining about Apple (01:01:45) PART 2: PR OF THE WEEK (01:13:46) Pablo's buildbot release status page (01:18:26) PART 3: WHAT'S GOING ON IN CPYTHON (01:18:52) PEP 762 (01:22:30) PEP 758 (01:26:10) Performance updates (01:29:14) Argparse suggests correct spelling (01:30:13) Fraction.from_number() and Decimal.from_number() (01:30:39) switched in contextvars (01:31:42) Better type annotations in pydoc signatures (01:33:33) Fixes in TaskGroup and _PyFuture ref cycles (01:34:03) Data race in ZoneInfo (01:35:53) Testing certificates set to expire far in the future (01:36:32) InternalDocs (01:40:22) There are no Easter eggs (01:40:42) OUTRO

NOW PLAYING

Episode 16: Memory Allocation

0:00 1:45:52

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 45 minutes long.

When was this core.py episode published?

This episode was published on October 29, 2024.

What is this episode about?

How does Python handle memory? Why does it need to perform custom forms of memory allocation? We talk about all that in this episode. We don't talk about Easter eggs, and we never mention Brandt by name, as promised last time! ##...

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!