Ric*_*haw 3 python optimization
在Python中使用字典而不是元组是否有任何性能优势?
如果我正在优化速度,是否有理由更喜欢一个而不是另一个?
Eli*_*sky 19
丰富,
列表和dicts是适合不同需求的野兽.确保你不使用列表进行线性搜索,其中dicts哈希是完美的,因为它的速度较慢.此外,如果您只需要遍历的元素列表,请不要使用dicts,因为它将占用比列表更多的空间.
这可能听起来很明显,但是通过算法选择正确的数据结构可以获得更高的性能,因为更高效的编译代码布局等可以实现微优化.如果您在O(n)中的列表中搜索而不是在O中的dict中搜索( 1),微优化不会拯救你.
对于少量元素,构造元组的速度会稍快一些.虽然实际上大多数增益都是在内存中使用而不是CPU周期,因为元组需要的空间比列表少.
话虽如此,性能差异应该可以忽略不计,一般来说,在分析代码并确定一段代码瓶颈之前,您不必担心这些微优化问题.