> On 10 May 2021, at 15:30, Sophist <git...@protopia.co.uk> wrote:
>
> I don't know how many people will remember some work that David Beazley did
> about a decade ago on how the GIL impacts multithreading performance -
> essentially he instrumented the Python interpreter to log how multiple
> threads competed for the GIL and gave several presentations over the space
> of 2-3 years. A couple of years ago I reached out to him with an idea on how
> to significantly improve the way that Python handles multi-threading hand-off
> of the GIL, but unfortunately he was not interested in pursuing this further.
> I am raising it here in the hope that someone else would be interested in
> implementing this.
>
> In essence my idea is to stop Python handing off the GIL through a
> competition between threads that are ready to run, and instead for Python to
> implement a scheduler for the GIL which decides which thread should get the
> GIL next and directly hands it over.
>
> Background
> ========
> Here are the links to David Beazley's presentations:
>
> 2009: Inside the Python GIL -
> https://www.youtube.com/watch?v=ph374fJqFPE
> 2010: Understanding the Python GIL -
> https://speakerdeck.com/dabeaz/understanding-the-python-gil
> https://www.youtube.com/watch?v=Obt-vMVdM8s
> 2011: Embracing the Global Interpreter Lock -
> https://speakerdeck.com/dabeaz/embracing-the-global-interpreter-lock
> https://www.youtube.com/watch?v=fwzPF2JLoeU
> 2011: In Search of the Perfect Global Interpreter Lock -
> https://speakerdeck.com/dabeaz/in-search-of-the-perfect-global-interpreter-lock
> https://www.youtube.com/watch?v=5jbG7UKT1l4
Given this is very old information I think the first thing needed is to
reproduce David's experiments and see if the 3.10 implementation has the same
issues.
Have you done this already?
If you turn these slides into benchmark code that would make it easier to
experiment with.
Benchmarks will need running on macOS, Windows, Linux at least.
Barry
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/AUASYYYOMQGGWLHOPMP4J5RGRQTDYCAK/
Code of Conduct: http://python.org/psf/codeofconduct/