Episode 16: Memory Allocation
Episode 16 of the core.py podcast, hosted by Pablo Galindo and Łukasz Langa, titled "Episode 16: Memory Allocation" was published on October 29, 2024 and runs 105 minutes.
October 29, 2024 ·105m · core.py
Summary
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
Episode 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
Similar Episodes
No similar episodes found.