Discovercore.pyEpisode 16: Memory Allocation
Episode 16: Memory Allocation

Episode 16: Memory Allocation

Update: 2024-10-29
Share

Description

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

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Episode 16: Memory Allocation

Episode 16: Memory Allocation

Pablo Galindo and Łukasz Langa