Brought to you by Linode - Build your next big idea @ linode.com

Episode #225: Can subinterpreters free us from Python's GIL?

Published Mon, Aug 12, 2019, recorded Fri, Aug 2, 2019.


Have you heard that Python is not good for writing concurrent asynchronous code? This is generally a misconception. But there is one class of parallel computing that Python is not good at: CPU bound work running the Python layer.

What's the main problem? It's Python's GIL or Global Interpreter Lock of course. Yet, the fix for this restriction may have been hiding inside CPython since version 1.5: subinterpreters.

Join me to talk about PEP 554 with core developer Eric Snow.

Links from the show

Eric on Twitter: @ericsnowcrntly
Eric's "Multi-core Python" project: github.com/ericsnowcurrently/multi-core-python
Blog post (2016): ericsnowcurrently.blogspot.com
Dave Beazley's talk on concurrency (performance): dabeaz.com
PEP 554 ("Multiple Interpreters in the Stdlib"): python.org
CSP: wikipedia.org
Original notes for PEP 554: docs.google.com
CAPI: python.org
Python benchmarks: github.com
Slides from Language Summit 2018: docs.google.com
Slides from Language Summit 2019: docs.google.com

Talk at PyCon US 2019, "to GIL or not to GIL: the Future of Multi-Core (C)Python"
Video: youtube.com
Slides: docs.google.com

Eric Snow
Eric Snow
Click to show comments


Individuals can support this podcast directly via Patreon. Corporate sponsorship opportunities available here.
X
Become a friend of the show
Stay in the know and get a chance to win our contests.
See our privacy statement about email communications.