-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
Make uop executor objects variable length #106608
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
Comments
This should be easy for someone with C experience. There are many examples in the CPython code base that do a similar thing. Basically the struct should be declared to end with |
I want to give it a try @gvanrossum |
@dalalvarun Go for it. Let me know if you get stuck. |
Based on your description above I started off trying to base the implementation of From your description though,
But this seems to be in conflict with the aim of avoiding having to copy everything into a new, larger array. My questions:
|
@kgdiem Good questions. What I had in mind is not like |
Executors are now more like tuples.
Looks like @rdrf2838 won the race. |
Currently
_PyUOpExecutorObject
contains a fixed-length (_Py_UOP_MAX_TRACE_LENGTH
, 32) array of micro instructions. We should switch to the usual variable-length array (making it aPyVarObject
) so that we can make the largest superblock larger without paying the memory overhead cost for the full array.Linked PRs
_PyUOpExecutorObject
use a variable-length array #107411The text was updated successfully, but these errors were encountered: