什么是最快(访问)Python中类似结构的对象?
我正在优化一些代码,这些代码的主要瓶颈正在运行并访问大量类似于结构的对象。目前,我使用namedtuples来提高可读性。但是使用'timeit'进行的一些快速基准测试表明,在性能是一个重要因素的情况下,这确实是错误的方法: 以a,b,c命名的元组: >>> timeit("z = a.c", "from __main__ import a") 0.38655471766332994 使用__slots__,a,b,c的类: >>> timeit("z = b.c", "from __main__ import b") 0.14527461047146062 带有键a,b,c的字典: >>> timeit("z = c['c']", "from __main__ import c") 0.11588272541098377 使用常量键的具有三个值的元组: >>> timeit("z = d[2]", "from __main__ import d") 0.11106188992948773 使用常量键列出三个值: >>> timeit("z = e[2]", "from __main__ import e") …