Time advantage by using Vectorization
Vectorization reduce the calculation time comparing to for loop, especially when dealing with the large data set. Here gives an example.
Example in Python
import numpy as np
import time
#产生随机数,a与b都是一个一维向量
a = np.random.rand(4000000)
b = np.random.rand(4000000)
#利用np.dot(a,b)计算两向量数乘
tic = time.time()#计算程序运行到这里的时间
c = np.dot(a,b)
toc = time.time()
print(c)
print("vectorization:"+str(1000*(toc-tic))+"ms")
#利用循环计算两向量数乘
c = 0
tic = time.time()
for i in range(4000000):
c += a[i]*b[i]
toc = time.time()
print(c)
print("non-vectorization:"+str(1000*(toc-tic))+"ms")
Result is as follows:
1000250.5707573969
vectorization:4.027366638183594ms
1000250.5707574325
non-vectorization:1999.9730587005615ms
Conclusion
Using vectorization can largely reduce the calculation time.