为可读性分配变量,降低性能

时间:2021-01-24 05:21:25

标签: performance loops dictionary variables

我明白 Python 与性能无关,我只是对这个结果感到惊讶。

在下图中,唯一的区别是左侧的第 8 行,我在此处分配给一个变量,然后再在其他地方使用它。当我有嵌套字典时,我通常会这样做,所以我不会在阅读我的代码时斜视。

当我运行它们时,我注意到右侧的代码运行速度持续提高约 12%。我的意思是列表在相同的时间内增长了 12%。

这是一种有效的测试方式吗?一些顾虑:

  • 也许在我的简化案例中开销不成比例,而现实世界的示例不会有太大的差异?
  • 我应该设置限制并测量达到限制的时间吗?

Screenshot

旁注:有没有办法在文本中显示图像?好像我只能上传并创建一个超链接...

实际代码如下:

(左)

from time import time

a = {'key':'val'}
start = time()
b = []

while time() < start + 5:
    c = a['key']
    b.append(c)

print(len(b))

(右)

from time import time

a = {'key':'val'}
start = time()
b = []

while time() < start + 5:
    b.append(a['key'])

print(len(b))

0 个答案:

没有答案
相关问题