[Python-Dev] PEP 579 and PEP 580: refactoring C functions and methods

Antoine Pitrou solipsis at pitrou.net
Wed Jun 20 10:42:32 EDT 2018


On Wed, 20 Jun 2018 16:32:09 +0200
Jeroen Demeyer <J.Demeyer at UGent.be> wrote:
> 
> > - there's CCALL_OBJCLASS and CCALL_SLICE_SELF which have, well,
> >    non-obvious behaviour (especially the latter), especially as it is
> >    conditioned on the value of other fields or flags  
> 
> It's actually quite obvious when you think of it: both are needed to 
> support existing use cases. Perhaps it's just not explained well enough 
> in the PEP.

Yes, it's explained in PEP 579.  But just because the motivation is
easy to understand doesn't mean the mechanism is easy to follow.

I'm wondering what amount of code and debugging is needed for, say,
Cython or Numba to implement that protocol as a caller, without going
through the C API's indirections (for performance).

Regards

Antoine.




More information about the Python-Dev mailing list