Repository navigation
gh-144650: support Vectorcall for _decimal.Decimal's - #158207
skirpichev wants to merge 9 commits into
Conversation
325c126 to
a0723f1
Compare
|
#157968 may help with the build failures (changes how the assert works which should make it better across module boundaries) |
|
Thanks. The Decimal is only possible candidate being a heap type in the stdlib. That was worked before in skirpichev#18 |
|
👍 hopefully will get more of these landed soon :). |
Convert the static types to heap types. Move empty init vectorcall to share with existing no-arg __init__ case. Add support for no-argument vectorcall so the no-arg __init__ cases actually work (rather than adding an arg). Produce the same error string as the PyArg helpers do. The vectorcall types no longer have a C address for the generated `Py_Is` so instead compare the slot function instead. This drops the requirement that a class using vectorcall declare a type object. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> (cherry-picked from python#157968)
|
CC @vstinner, does it make sense for you? |
This shows almost no effect on "official" pyperformance benchmarks (see python/pyperformance#473):
But on micro-benchmarks:
(Default ./configure options, gcc 14.2)
Details