-
-
Notifications
You must be signed in to change notification settings - Fork 30.7k
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
Remove the _PyOptimizer
APIs
#126599
Comments
Hi can I take and try this issue? |
Don't rush, please wait for the discussion result :) |
This has already been discussed quite a bit offline with the relevant parties. I think we can probably move ahead with it. It's a pretty big project, but help is welcome if you really feel confident tackling it. It's not just deleting things, but also refactoring the code to remove the current API boundary between the interpreter and the optimizer. I'm happy to help out if you get stuck or need any advice, too. |
@xuantengh Would you like to challenge? If you don't have the confidence to give it to me, I will finish it when I have time. |
Hi I would like to give it a try. |
Hi @brandtbucher, after some preliminary investigation, this issue aims to remove the following 3 internal C APIs:
where the first two are only used for tests ( Please correct me if something wrong or missing. |
@xuantengh Maybe you should submit a PR :) |
We should rip the
_PyOptimizer
API out, and just keep all of the code that does that actual optimizing.The API itself is unstable, constantly changing, poorly-defined, and undocumented. There's a bunch of infrastructure required just to test the API (not the actual optimizations we perform), and it introduces indirection and artificial boundaries into some pretty performance-sensitive stuff. Nobody is using it that we're aware of, nobody we've talked to is planning on using it, and frankly we don't want anyone to start using it. So let's remove it.
Linked PRs
_PyOptimizer
APIs #126853The text was updated successfully, but these errors were encountered: