gpt4 book ai didi

python - 比较这两个短代码的计算速度

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:13 24 4
gpt4 key购买 nike

在两个版本的代码中,v1和v2都是大向量(长度在1,000到1,000,000之间,len(v1)=len(v2))。我预计 code 2code 1 更精通,但事实证明 code 1 快得多,我不知道为什么。您能解释一下为什么代码 2 很慢吗?谢谢。

代码 1:

norm1=math.sqrt(np.dot(v1,v1))
norm2=math.sqrt(np.dot(v2,v2))
kern=np.dot(v1,v2)/(norm1*norm2)

代码 2:

kern=0
for i in range(0, len(v1)):
kern+=min(v1[i], v2[i])

最佳答案

np.dot() 调用也需要循环遍历向量,但这些循环(通常)是在本地/在 C++ 中实现的。与此类基于 C++ 的循环相比,在 Python 中显式实现的循环(如代码 2 中的循环)非常慢。

关于python - 比较这两个短代码的计算速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com