EPISODE · Oct 30, 2023 · 1H 14M
Episode 2 - PEP 703: Removing the GIL
from core.py · host Pablo Galindo and Łukasz Langa
We've read the PEP on making the Global Interpreter Lock optional so you don't have to. Timestamps (00:00:00) Intro (00:00:50) CURRENT STATE OF THINGS (00:00:58) Reference counting (00:01:35) Garbage collection (00:02:33) What is the Global Interpreter Lock? (00:03:57) The GIL and threading (00:07:24) Current ways around the GIL (00:09:26) HISTORICAL ATTEMPTS TO REMOVE THE GIL (00:09:46) 1999: Greg Stein's attempt at Python 1.6 (00:10:46) Jython doesn't have the GIL (00:11:19) 2015: Larry Hastings' Gilectomy at Python 3.5 (00:12:34) Pablo says removing the GIL is actually very easy (00:13:24) Łukasz is skeptical (00:14:20) 2021: Sam Gross' nogil at Python 3.9 (00:18:22) 2023: PEP 703 for Python 3.13 (00:20:05) PEP 703 IN DETAIL (00:20:20) Biased Reference Counting (00:25:19) Other needed speedups: deferred refcounts, immortalization, GC (00:28:41) mimalloc (00:34:46) More GC changes (00:38:20) eval breaker (00:42:08) Thread-safe standard collections (00:45:26) Fast paths vs. slow paths (00:49:47) Reading freed memory with mimalloc is kinda okay? (00:58:06) Specializations become harder to implement without the GIL (01:01:27) PEP 703 terms of acceptance (01:04:08) No free lunch (01:09:25) It's now or never (01:11:59) Outro
Embed this episode
NOW PLAYING
Episode 2 - PEP 703: Removing the GIL
No transcript for this episode yet
Similar Episodes
No similar episodes found.
Similar Podcasts
No similar podcasts found.