我为此感到困惑
def main():
for i in xrange(2560000):
a = [0.0, 0.0, 0.0]
main()
$ time python test.py
real 0m0.793s
Run Code Online (Sandbox Code Playgroud)
现在让我们看看numpy:
import numpy
def main():
for i in xrange(2560000):
a = numpy.array([0.0, 0.0, 0.0])
main()
$ time python test.py
real 0m39.338s
Run Code Online (Sandbox Code Playgroud)
神圣的CPU蝙蝠侠!
使用numpy.zeros(3)改进,但仍然不够恕我直言
$ time python test.py
real 0m5.610s
user 0m5.449s
sys 0m0.070s
Run Code Online (Sandbox Code Playgroud)
numpy.version.version ='1.5.1'
如果您想知道在第一个示例中是否跳过列表创建以进行优化,则不是:
5 19 LOAD_CONST 2 (0.0)
22 LOAD_CONST 2 (0.0)
25 LOAD_CONST 2 (0.0)
28 BUILD_LIST 3
31 STORE_FAST 1 (a)
Run Code Online (Sandbox Code Playgroud)