[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2022-01-21 Thread Erlend E. Aasland
Erlend E. Aasland added the comment: > AFAIK we have committed _PyArg_UnpackKeywordsWithVararg on 3.11 alpha, so I > think it should be fine. I see, so no ABI worries then. -- ___ Python tracker

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2022-01-21 Thread Batuhan Taskaya
Batuhan Taskaya added the comment: > Note that _PyArg_UnpackKeywordsWithVararg is defined with PyAPI_FUNC. > Changing its argument spec is strictly a backwards incompatible change, IIUC. AFAIK we have committed _PyArg_UnpackKeywordsWithVararg on 3.11 alpha, so I think it should be fine.

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2022-01-04 Thread colorfulappl
colorfulappl added the comment: I am a rookie in Python, did not notice changing PyAPI_FUNC means breaking backward compatibility. I have reverted _PyArg_UnpackKeywordsWithVararg and committed again. -- ___ Python tracker

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2021-12-31 Thread Erlend E. Aasland
Erlend E. Aasland added the comment: Note that _PyArg_UnpackKeywordsWithVararg is defined with PyAPI_FUNC. Changing its argument spec is strictly a backwards incompatible change, IIUC. -- nosy: +BTaskaya ___ Python tracker

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2021-12-31 Thread colorfulappl
colorfulappl added the comment: I wrote some microbenchs. Patch: https://github.com/python/cpython/pull/30312/commits/b68176d081e19a3cedbaf2cdb31ecd7690421ec8 Environment: macOS 12.1 clang 13.0.0 configure with --enable-optimizations Result on microbench: ```

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2021-12-31 Thread colorfulappl
Change by colorfulappl : -- keywords: +patch pull_requests: +28527 stage: -> patch review pull_request: https://github.com/python/cpython/pull/30312 ___ Python tracker ___

[issue46212] Avoid temporary `varargs` tuple creation in argument passing

2021-12-31 Thread colorfulappl
New submission from colorfulappl : When "Augument Clinic generated code" are parsing arguments, the args are packed to a tuple before passing to callee. This may be unnecessary. Pass a raw pointer which points to on-stack varargs, and a varargssize integer to indicate how many varargs are