gpt4 book ai didi

python - 为什么 max() 函数在比较 2 个元素时比直接用 if 语句比较慢得多?

转载 作者:行者123 更新时间:2023-11-28 21:32:32 25 4
gpt4 key购买 nike

通过运行下面的代码,我得到了与 if 语句的直接比较,速度几乎是使用 max 函数的 4 倍。

我正在尝试了解这背后的原因。

比较:0.63s,最大:2.3s

import time

if _name_ == '_main_':
sim = 10**7

s = time.time()
for _ in range(sim):
if 1 > 2:
pass
res1 = time.time()-s

s = time.time()
for _ in range(sim):
max(1, 2)
res2 = time.time()-s

print('comparison : {:.2}s, max : {:.2}s'.format(res1, res2))

最佳答案

因为max涉及函数名称的字典查找,然后是函数调用,而直接 <运营商没有。

max当您拥有更多元素时,速度开始变得有趣起来。

相关/相同速度差异:

关于python - 为什么 max() 函数在比较 2 个元素时比直接用 if 语句比较慢得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281691/

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