Wanted: Experienced C-programmer to become a Python legend #358
Sophist-UK
started this conversation in
General
Replies: 1 comment
-
UPDATE The one volunteer we had has unfortunately found that he does not have the time for attempting even the same experiment as a decade ago. So PLEASE, is there anyone willing to volunteer? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
For well over a decade there have been questions about how the GIL is passed between threads, the existing implementation having severe side-effects if there are one or more CPU-heavy threads.
There is a detailed discussion about Multithreading Performance in which several issues are demonstrated again in a benchmark. I have proposed a simple GIL scheduler (based on well established computer science principles), however in the end it comes down to finding someone who has the skills (which I don't) to experiment and create a proof-of-concept solution on a scientific step-by-step basis - taking consistent measurements at each step.
Over a decade ago, someone tried to shoehorn a Linux scheduler into the GIL and it wasn't suitable - and whilst we do have a volunteer who has offered to repeat this exact same experiment, IMO we need someone who has the time and the skills and is willing to work on this in a more structured way.
We know there is a problem that should be able to be solved. I have proposed a design that is not too complex, but a good discussion might come up with a better one.
Is there anyone reading this who would like to take this on? I cannot promise that it will definitely result in a better GIL and substantial performance improvements for multithreaded apps, but I do believe that this is a fairly likely outcome - and if so then you will be a Python hero / legend, at least in my eyes.
So, any takers?
(I am not a C programmer, and so entirely unqualified to estimate the effort required, however my gut reaction is that a prototype proof-of-concept might not be too much effort (measured in days rather than minutes or months), but if it works then ironing out backward compatibility issues and supporting a more comprehensive beta test programme might be quite a bit more effort. If anyone would like to discuss my outline design in detail so that they can make their own estimate of effort for the prototype, I would be happy to help with that.)
Beta Was this translation helpful? Give feedback.
All reactions