Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
GH-101291: Refactor the PyLongObject struct#101292
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
Conversation
markshannon commented Jan 24, 2023 • edited by bedevere-bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-bot
Uh oh!
There was an error while loading. Please reload this page.
mdickinson left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes seem fine to me, though it's a little bit disturbing to see how much the longobject internals have leaked into the rest of the codebase.
Have we looked into the possible impact of these changes on 3rd party libraries? Most shouldn't care, but I'd imagine it'll affect Cython at least, and possibly also things like NumPy and gmpy2.
markshannon commented Jan 29, 2023
It is, but at least it gives us a guide for what API functions we need to add.
I guess we need to clearly document the changes and recommended API functions. |
…r and PyLongValue struct. (pythonGH-101292)
tacaswell commented Feb 3, 2023
Does indeed hit cython! Can not tell if it hits numpy independent of cython because the cythonized files fail to build. |
encukou commented Jul 3, 2023
Did you get around to this? I can't see it in What's New. |
- generated c files are outdated due to [GH-101291](python/cpython#101292)
- generated c files are outdated due to [GH-101291](python/cpython#101292)
- generated c files are outdated due to [GH-101291](python/cpython#101292)
- generated c files are outdated due to [GH-101291](python/cpython#101292)
There is no change to the implementation, apart from the refactoring of the struct. Even the binary layout remains the same.
This is the first step in improving int performance. The real changes will come later, but this PR will help keep later PR small and manageable.