> On 17 Jun 2018, at 16:31, Stefan Behnel <stefan...@behnel.de> wrote: > > Ronald Oussoren schrieb am 17.06.2018 um 14:50: >> Why did you add a tp_ccalloffset slot to the type with the actual >> information in instances instead of storing the information in a slot? > > If the configuration of the callable was in the type, you would need a > separate type for each kind of callable. That would quickly explode. Think > of this as a generalised PyCFunction interface to arbitrary callables. > There is a function pointer and some meta data, and both are specific to an > instance.
That’s true for PyCFunction, but not necessarily as a general replacement for the tp_call slot. I my code I’d basically use the same function pointer and metadata for all instances (that is, more like PyFunction than PyCFunction). > > Also, there are usually only a limited number of callables around, so > memory doesn't matter. (And memory usage would be a striking reason to have > something in a type rather than an instance.) I was mostly surprised that something that seems to be a replacement for tp_call stores the interesting information in instances instead of the type itself. Ronald _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com