Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

Episode 2 - PEP 703: Removing the GIL

Episode 2 - PEP 703: Removing the GIL

Fromcore.py


Episode 2 - PEP 703: Removing the GIL

Fromcore.py

ratings:
Length:
75 minutes
Released:
Oct 30, 2023
Format:
Podcast episode

Description

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
Released:
Oct 30, 2023
Format:
Podcast episode