gpt4 book ai didi

Python:多重分配与个人分配速度

转载 作者:太空狗 更新时间:2023-10-29 21:07:20 25 4
gpt4 key购买 nike

我一直在寻求从我的代码中挤出更多的性能;最近,在浏览this Python wiki page ,我发现了这个说法:

Multiple assignment is slower than individual assignment. For example "x,y=a,b" is slower than "x=a; y=b".

好奇,我测试了它(在 Python 2.7 上):

$ python -m timeit "x, y = 1.2, -1.4"
10000000 loops, best of 3: 0.0365 usec per loop

$ python -m timeit "x = 1.2" "y = -1.4"
10000000 loops, best of 3: 0.0542 usec per loop

我以不同的顺序等重复了几次,但多次分配片段的表现始终比单独分配好至少 30%。显然,我的代码中涉及变量赋值的部分不会成为任何重大瓶颈的根源,但我的好奇心还是被激起了。为什么多次赋值显然比单个赋值快,而文档却另有说明?

编辑:

我测试了对两个以上变量的赋值并得到了以下结果:

趋势似乎或多或少是一致的;任何人都可以复制它吗?

(CPU:英特尔酷睿 i7 @ 2.20GHz)

最佳答案

有趣的是,它可能在某种程度上取决于 CPU。这些都是 64 位 linux 机器(相同的 Python 构建)。

Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz 的结果

$ python -V
Python 2.7.5+
$ python -m timeit "x, y = 1.2, -1.4"
10000000 loops, best of 3: 0.0554 usec per loop
$ python -m timeit "x = 1.2" "y = -1.4"
10000000 loops, best of 3: 0.0349 usec per loop

Intel(R) Pentium(R) CPU G850 @ 2.90GHz 的结果

$ python -V
Python 2.7.5+
$ python -m timeit "x, y = 1.2, -1.4"
10000000 loops, best of 3: 0.0245 usec per loop
$ python -m timeit "x = 1.2" "y = -1.4"
10000000 loops, best of 3: 0.0394 usec per loop

关于Python:多重分配与个人分配速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22278695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com