[Python-Dev] Accepting PEP 560 -- Core support for typing module and generic types (original) (raw)

Yury Selivanov yselivanov.ml at gmail.com
Thu Dec 14 19:25:58 EST 2017


On Thu, Dec 14, 2017 at 7:03 PM, Guido van Rossum <guido at python.org> wrote:

A slot is pretty expensive, as every class in existence will be another 8 bytes larger (and possibly more due to malloc rounding). So unless we find that there's a significant performance benefit I think we should hold back on this. IIRC Ivan has already measured an order of magnitude's speedup (well, 7x), so we may not need it. :-)

My motivation to add the slot wasn't the performance: it's just not possible to have a class-level getitem on types defined in C. The only way is to define a base class in C and then extend it in pure-Python. This isn't too hard usually, though.

BTW that slot could also host the new mro_entries method, and, potentially, other magic methods like subclasscheck and instancecheck.

Yury



More information about the Python-Dev mailing list