[Python-ideas] a new namedtuple

Steven D'Aprano steve at pearwood.info
Mon Jul 17 21:34:48 EDT 2017


On Mon, Jul 17, 2017 at 05:01:58PM -0700, Ethan Furman wrote:
> Guido has decreed that namedtuple shall be reimplemented with speed in mind.
> 
> I haven't timed it (I'm hoping somebody will volunteer to be the bench mark 
> guru), I'll offer my NamedTuple implementation from my aenum [1] library.  

With respect Ethan, if you're going to offer up NamedTuple as a faster 
version of namedtuple, you should at least do a quick proof of 
concept to demonstrate that it actually *is* faster. Full bench marking 
can wait, but you should be able to do at least something like:


python3 -m timeit --setup "from collections import namedtuple" \
    "K = namedtuple('K', 'a b c')"

versus 

python3 -m timeit --setup "from aenum import NamedTuple" \
    "K = NamedTuple('K', 'a b c')"

(or whatever the interface is). If there's only a trivial speed up, or 
if its slower, then there's no point even considing it unless you speed 
it up first.


-- 
Steve


More information about the Python-ideas mailing list