[Python-Dev] Impact of Namedtuple on startup time (original) (raw)

Petr Viktorin encukou at gmail.com
Mon Jul 17 17:07:11 EDT 2017


On 07/17/2017 10:31 PM, Giampaolo Rodola' wrote:

I completely agree. I love namedtuples but I've never been too happy about the additional overhead vs. plain tuples (both for creation and attribute access times), to the point that I explicitly avoid to use them in certain circumstances (e.g. a busy loop) and only for public end-user APIs returning multiple values.

To be entirely honest, I'm not even sure why they need to be forcefully declared upfront in the first place, instead of just having a first-class function (builtin?) written in C: >>> ntuple(x=1, y=0) (x=1, y=0) ...or even a literal as in: >>> (x=1, y=0) (x=1, y=0) Most of the times this is what I really want: quickly returning an anonymous tuple with named attributes and nothing else, similarly to os.times() & others. [...]

It seems that you want types.SimpleNamespace(x=1, y=0).



More information about the Python-Dev mailing list