GH-101291: Refactor the PyLongObject struct#101292
Conversation
mdickinson
left a comment
There was a problem hiding this comment.
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.
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)
Does indeed hit cython! Can not tell if it hits numpy independent of cython because the cythonized files fail to build. |
Needed after python/cpython#101292 See cython#5238
Needed after python/cpython#101292 See cython#5238
Needed after python/cpython#101292 See #5238
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.