本文介绍了Python:多重赋值与单个赋值的速度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直希望从我的代码中获得更多的性能;最近,在浏览this Python wiki page时,我发现了这样的说法:
多重分配比单独分配慢。例如,x,y=a,b";比";x=a;y=b";慢。
好奇,我(在Python2.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.20 GHz)
cpu3
有趣的是,它可能在某种程度上依赖于推荐答案。这两台都是64位Linux计算机(相同的Python版本)。
英特尔(R)酷睿(TM)2双核CPU T7300@2.00 GHz的结果
$ 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
英特尔(R)奔腾(R)CPU G850@2.90 GHz的结果
$ 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:多重赋值与单个赋值的速度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!