import numpy as np
a = np.array([1, 2, 3, 4])
print(a)
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")
위 코드의 출력 결과
249380.02784468475
vectorized version: 1.028299331665039ms
249380.0278446894
for loop: 194.11587715148926ms
즉 vectorization을 거치면 간단한 행렬곱 계산임에도 무려 200배 빠른 계산이 가능하다.
글 잘 봤습니다.