"""
@Title: Vectorization
@Time: 2024/2/22
@Author: Michael Jie
"""
import time
import numpy as np
# 初始化两个一百万维度的数组
w = np.random.rand(1000000)
x = np.random.rand(1000000)
# 计算w * x,for循环版本
y = 0
start_time = time.time()
for i in range(1000000):
y += x[i] * w[i]
end_time = time.time()
print(y)
print("for循环版本的时间:" + str(1000 * (end_time - start_time)) + "ms")
# 计算w * x,向量化的版本
start_time = time.time()
y = np.dot(x, w)
end_time = time.time()
print(y)
print("向量化版本的时间:" + str(1000 * (end_time - start_time)) + "ms")
"""
249863.8193506965
for循环版本的时间:277.03142166137695ms
249863.81935069352
向量化版本的时间:72.85833358764648ms
"""