Go offline with the Player FM app!
Episode 18: Reference Counting
Manage episode 463004484 series 3522009
After we talked about memory allocation in Python back in Episode 16, we're ready to complain, uh, explain reference counting. Or at least throw a bunch of reference counting facts at you. Plus a big assortment of recent Python changes. You ready?
## Timestamps
(00:00:00) INTRO
(00:04:17) PART 0: SPORTS NEWS
(00:06:53) PART 1: REFERENCE COUNTING
(00:08:28) New segment of 2025
(00:13:54) C++ is asymptotic Python
(00:15:37) Is Rust game yet?
(00:18:01) Names
(00:20:25) Breaking the law
(00:23:08) sys.getrefcount()
(00:25:21) Pedantic Pablo
(00:26:06) sys.gettotalrefcount()
(00:31:24) TraceRefs
(00:33:28) Advantages of refcounting
(00:36:16) Disadvantages of refcounting
(00:38:40) Reference cycles
(00:40:39) Multithreading
(00:41:25) When refcounting goes wrong
(00:44:05) Freeing memory in Python doesn't return it to the OS
(00:45:42) Leaks and cycles redux
(00:50:29) Double free
(00:53:05) Avoiding reference counting
(00:54:59) Immortal objects
(01:00:40) PART 2: WHAT'S GOING ON IN CPYTHON
(01:02:43) New features
(01:04:11) Assorted interesting changes
(01:15:23) Performance
(01:18:09) Free-threading changes galore
(01:27:02) AsyncIO
(01:34:25) Windows changes
(01:36:45) Security
(01:37:20) OUTRO
21 episodes
Manage episode 463004484 series 3522009
After we talked about memory allocation in Python back in Episode 16, we're ready to complain, uh, explain reference counting. Or at least throw a bunch of reference counting facts at you. Plus a big assortment of recent Python changes. You ready?
## Timestamps
(00:00:00) INTRO
(00:04:17) PART 0: SPORTS NEWS
(00:06:53) PART 1: REFERENCE COUNTING
(00:08:28) New segment of 2025
(00:13:54) C++ is asymptotic Python
(00:15:37) Is Rust game yet?
(00:18:01) Names
(00:20:25) Breaking the law
(00:23:08) sys.getrefcount()
(00:25:21) Pedantic Pablo
(00:26:06) sys.gettotalrefcount()
(00:31:24) TraceRefs
(00:33:28) Advantages of refcounting
(00:36:16) Disadvantages of refcounting
(00:38:40) Reference cycles
(00:40:39) Multithreading
(00:41:25) When refcounting goes wrong
(00:44:05) Freeing memory in Python doesn't return it to the OS
(00:45:42) Leaks and cycles redux
(00:50:29) Double free
(00:53:05) Avoiding reference counting
(00:54:59) Immortal objects
(01:00:40) PART 2: WHAT'S GOING ON IN CPYTHON
(01:02:43) New features
(01:04:11) Assorted interesting changes
(01:15:23) Performance
(01:18:09) Free-threading changes galore
(01:27:02) AsyncIO
(01:34:25) Windows changes
(01:36:45) Security
(01:37:20) OUTRO
21 episodes
All episodes
×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.