New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The Limit of 32 Pending Calls is Too Small #110693
Comments
I would go with a linked list implementation with no limits. I don't think limiting it has any benefit. |
For 3.12 the simplest thing would be to bump CC @Yhg1s |
(Maybe change the title to "... is Too Small"? "Few" sounds odd here. Also maybe don't use Title Caps. :-) |
This does some cleanup in preparation for later changes.
…18302) This is an improvement over the status quo, reducing the likelihood of completely filling the pending calls queue. However, the problem won't go away completely unless we move to an unbounded linked list or add a mechanism for waiting until the queue isn't full.
We currently have a limit of 32 pending calls for each interpreter. This has been the limit pretty much since pending calls were added (originally for signal handling). Now that we use pending calls between interpreters (e.g. to decref an object under the correct interpreter), a maximum of 32 is too low. This will become a bigger problem as subinterpreters are used more.
The current workaround looks something like this:
...perhaps also involving a separate queue or an extra thread.
Possible improvements:
(This issue is a continuation of gh-79647.)
Linked PRs
The text was updated successfully, but these errors were encountered: