[Python-Dev] Micro-benchmarks for PEP 580
On 2018-07-11 10:27, Antoine Pitrou wrote:
> I agree PEP 580 is extremely complicated and it's not obvious what the
> maintenance burden will be in the long term.
But the status quo is also very complicated! If somebody would write a
PEP describing the existing implementation of builtin_function_or_method
and method_descriptor with all its optimizations, probably you would
also find it complicated.
Have you actually looked at the existing implementation in
Python/ceval.c and Object/call.c for calling objects? One of the things
that PEP 580 offers is replacing 5 (yes, five!) functions
_PyMethodDef_RawFastCallDict by a single function PyCCall_FASTCALL.
Anyway, it would help if you could say why you (and others) think that
it's complicated. Sure, there are many details to be considered (for
example, the section about Descriptor behavior), but those are not
essential to understand what the PEP does. I wrote the PEP as a complete
specification, give full details. Maybe I should add a section just
explaining the core ideas without details?