Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Understanding the Python GIL

    David Beazley

    4 HN recommenders · recommended in 8 months, 2013–2023

    YouTube

    46:10 · 127K views · Feb 3, 2012

    David Beazley's PyCon 2010 talk explains how the Python Global Interpreter Lock works and shows experiments where multithreaded code runs slower, even on more cores, due to lock contention and context-switching overhead.

    The canonical recommendation for understanding the GIL, praised both for its clarity and for how well it explains a deep technical topic.

    Software Engineering & LanguagesPython, Ruby & scripting languagesSoftware performance & optimization
    1. 32:07
      Larry Hastings - Removing Python's GIL: The Gilectomy - PyCon 2016PyCon 201649K views • 10 years ago
    2. 2:12:42
      Build Your Own AsyncDavid Beazley60K views • 7 years ago
    3. 1:13:53
      Raymond Hettinger, Keynote on Concurrency, PyBay 2017SF Python161K views • 9 years ago
    4. 1:01:45
      A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)David Beazley26K views • 7 years ago
    5. 57:05
      Keynote: Begin...End?David Beazley9.5K views • 5 years ago
    6. 59:11
      How to Speed up a Python Program 114,000 times.InfoQ171K views • 13 years ago
    7. 49:55
      How Python was Shaped by leaky Internals, Armin Ronacher, Flask frameworkВидео с мероприятий {speach!20K views • 10 years ago
    8. 42:44
      Armin Ronacher - A Python for Future GenerationsEuroPython Conference6.2K views • 9 years ago
    9. 3:26:34
      David Beazley - Lambda Calculus from the Ground Up - PyCon 2019PyCon 201952K views • 7 years ago
    10. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    11. 26:34
      Shared memory parallelism in Julia | Kiran Pamnany | Cambridge Julia Meetup (May 2018)The Julia Programming Language6.8K views • 8 years ago
    12. 32:17
      Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018PyCon 201830K views • 8 years ago
    13. 47:34
      RailsConf 2011: Aaron Patterson, "Double Dream Hands: So Intense!"O'Reilly26K views • 15 years ago
    14. 1:24:39
      Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)Developer Voices64K views • 2 years ago
    15. 1:01:04
      Introduction to Julia - Part 1 | SciPy 2014 | David SandersEnthought80K views • 12 years ago
    16. 40:34
      Charlie Marsh: uv: An Extremely Fast Python Package ManagerJane Street108K views • 2 years ago
    17. 1:07:41
      Modern Dictionaries by Raymond HettingerSF Python150K views • 9 years ago
    18. 2:50:14
      Simple Code, High PerformanceMolly Rocket464K views • 5 years ago
    19. 1:21:39
      Making R run Fast - Jan VitekJohn O'Neill865 views • 10 years ago
    20. 58:08
      Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthingtonyapcasia6K views • 11 years ago

    8 comments from Hacker News

    1. @famousactressJan 2014· in “Code is not Literature”

      "The point of such a presentation is to take a piece of code that the presenter has understood deeply and for them to help the audience understand the core ideas..." I do get lots of value out of that. My favorite example is Beazley's GIL talk: this video

      Strongly recommendsView on HN
    2. @gshulegaardAug 2022· in “How to choose the right Python concurrency API”

      I am not expert, and this might be dated information, but historically there is a "thrashing" introduced between the GIL and OS scheduled threads which has surprising performance implications. David Beazley does a much better illustrating the nuances than I ever could: this video Including a wild phenomenon where a threaded Python program's performance can degrade by increasing number of CPU cores available to a system. Coroutines avoid this by not requiring individual thread scheduling by the OS. So they effectively release the GIL like threads on IO but avoid OS level thread switching.

      RecommendsView on HN
    3. @LuytJun 2013· in “Python's Hardest Problem (2012)”

      "I never actually got around to learning -- or even thinking about!-- what exactly the GIL is" David Beazley does a good job on explaining the GIL. There are multiple videos of his GIL talks on YouTube. This one, for instance: this video He has a page about this at [LINK]

      RecommendsView on HN
    4. @devxpyJul 2018· in “Code with Mu: a simple Python editor for beginner programmers”

      David probably isnt the best guy for that. But here's one of the famous ones on GIL. this video Beware though, his talks are known to be devastating to the programmer, resulting in serious head injuries, trauma, headaches and other fun stuff.

      RecommendsView on HN
    5. @zerktenJan 2017· in “Problems I Have with Python”

      > If you want speed you go to any other scripting language (other than Ruby). Ruby has historically had the same issues. Most Pythonistas I know aren't so evangelical. It's mostly a question of how to go about integrating C/C++ code. Many people complaining about the GIL (and the like) have some naive microbenchmark, don't understand the trade-offs/limitations of their runtime etc. That doesn't mean critique isn't important and required, but it's going to be better when it's properly researched and improves on the body of work out there ( this video ). > Transpiling it to another language like Google did, shows that the underlying technology is not worth much. How is this any general indicator of the worth of the language? It shows for some cases, that Google thought this was a worthwhile investment. Google has experimented for a long time with ways to improve how Python code can be run. They ran the Unladen Swallow project, but spent more time on LLVM issues at the time making it infeasible to continue the project. They'll discontinue one path and try another. None of this is really a commentary from Google on CPython, the community, or the value that it has for most people. The people working on this stuff interact in a pretty friendly basis.

      CitesView on HN