[Python-Dev] Impoverished compare ... (original) (raw)

Erik python at lucidity.plus.com
Thu Mar 9 18:43:20 EST 2017


Hi.

I'm looking at stuff proposed over on Python-Ideas, and I'd appreciate some pointers as to the basics of how C-level objects are generally compared in Python 3.

The issue is related to the performance of PyObject_RichCompare. I got to the point where I was trying to work out what was the alternative to RichCompare. If a comparison is not "rich", then what is it? There's a tp_richcompare slot in the type structure, but I haven't noticed anything else obvious for simple comparison (In 2.x days - which I have more experience with - cmp was a thing which now seems to be gone. I understand the Python-level changes with sort(..., key=foo) but I've not looked at the underlying C implementation until now).

Anyway, I followed things as far as Objects/typeobject.c and then I got bitten by a macro dialect that I don't immediately grok, so anything that spells it out a bit more plainly would be nice (I can follow the code if I need to - but a shortcut from those who know this off the top of their head would be helpful).

Thanks, E.



More information about the Python-Dev mailing list