◐ Shell
clean mode source ↗

Message 242091 - Python tracker

If you have a chance, run a C profiler so we can see whether most of the time is being spent in an attribute lookup for the current property(itemgetter) approach versus your nt-indexer approach.  Without a profile, I have only my instincts that the overhead is a mix of indirections and function call overhead (both solveable by in-lining), and over-generalization for all PyObject_GetItem() (solvable by specialization to a tuple subclass), and variable length argument lists (solveable by using of PyTuple_New(1)).   

Ideally, I would like something that speeds-up broader swaths of the language and doesn't obfuscate the otherwise clean generated code.  ISTM that the C code for both property() and itemgetter() still have room to optimize the common case.