[Python-Dev] Impact of Namedtuple on startup time

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