我很好奇并且定时了。
numpy.sum对于numpy数组来说似乎要快得多,但在列表上要慢得多。
import numpy as npimport timeitx = range(1000)# or #x = np.random.standard_normal(1000)def pure_sum(): return sum(x)def numpy_sum(): return np.sum(x)n = 10000t1 = timeit.timeit(pure_sum, number = n)print 'Pure Python Sum:', t1t2 = timeit.timeit(numpy_sum, number = n)print 'Numpy Sum:', t2
结果
x = range(1000):
Pure Python Sum: 0.445913167735Numpy Sum: 8.54926219673
结果
x = np.random.standard_normal(1000):
Pure Python Sum: 12.1442425643Numpy Sum: 0.303303771848
我正在使用Python 2.7.2和Numpy 1.6.1



