向量化

向量化可以使计算速度提高300倍之多。
python 的 numpy 库中有很多内置函数,可以帮助计算向量。

import time

a = np.random.rand(1000000)
b = np.random.rand(1000000)

tic = time.time()
c = np.dot(a,b)
toc = time.time()

print(c)
print("vectorized version:" + (str(1000*(toc-tic)))+"ms")


c = 0
tic = time.time()
for i in range(1000000):
    c += a[i] * b[i]
toc = time.time()

print(c)
print("For loop:" + (str(1000*(toc-tic)))+"ms")

计算结果如下

249687.709883
vectorized version:4.010677337646484ms
249687.709883
For loop:793.9901351928711ms

猜你喜欢

转载自blog.csdn.net/cristina__jing/article/details/79511636