我想测试两个相同列表之间的处理时间,具体来说是普通列表和numpy列表。我的代码如下:
import timeit
import numpy as np
t = timeit.Timer("range(1000)")
print t.timeit()
u = timeit.Timer("np.arange(1000)")
print u.timeit()
计算 t
没问题,但是对于 u
,出现了 NameError: global name 'np' is not defined。
我该如何编写代码来获取处理时间?
int
对象以及一个用于保存它们的列表将比创建和初始化1000个Cint
对象的数组需要更长的时间。这就是NumPy的半个优点——不在Python对象中“装箱”每个值可以节省所有装箱和拆箱的时间。(另一个优点是它还可以节省这1000个“盒子”的内存。第三个优点——因为NumPy足够酷,拥有超过100%的好处——是它提供了逐元素操作的良好API。) - abarnert