Author serhiy.storchaka
Recipients Bartosz Gołaszewski, serhiy.storchaka, vstinner
Date 2018-06-11.10:19:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1528712340.96.0.592728768989.issue33829@psf.upfronthosting.co.za>
In-reply-to
Content
Is this case common enough for adding special API? The name PyObject_CallMethodArgs looks too similar to the existing name PyObject_CallMethodObjArgs, this will make confusion. If add an API that accepts the method name as C string, you need to add also an API for method name passed as Python string and a private API for method name passed as `struct _Py_Identifier *`. Adding new API has a non-zero cost. It adds maintenance burden for core developers, it increases the number of things that should be learned by users, and can leads to generating less optimal code by the compiler, because it will need to analyze more code in the same file, and it can optimize less common paths and left more common paths unoptimized.

Are you aware that you can pass the args tuple unchanged by using PyObject_CallMethod()? PyObject_CallMethod(obj, name, "O", args)
History
Date User Action Args
2018-06-11 10:19:01serhiy.storchakasetrecipients: + serhiy.storchaka, vstinner, Bartosz Gołaszewski
2018-06-11 10:19:00serhiy.storchakasetmessageid: <1528712340.96.0.592728768989.issue33829@psf.upfronthosting.co.za>
2018-06-11 10:19:00serhiy.storchakalinkissue33829 messages
2018-06-11 10:19:00serhiy.storchakacreate