JW *_*W O 2 python algorithm performance numpy
在代码的两个版本中,v1和v2都是大向量(长度范围从1,000 1,000,000到len(v1)= len(v2)).我希望代码2比代码1更强大,但事实证明代码1更快,我不知道为什么.你能解释为什么代码2很慢吗?谢谢.
代码1:
norm1=math.sqrt(np.dot(v1,v1))
norm2=math.sqrt(np.dot(v2,v2))
kern=np.dot(v1,v2)/(norm1*norm2)
Run Code Online (Sandbox Code Playgroud)
代码2:
kern=0
for i in range(0, len(v1)):
kern+=min(v1[i], v2[i])
Run Code Online (Sandbox Code Playgroud)