gpt4 book ai didi

python - np.exp 比 np.e 慢多少?

转载 作者:太空狗 更新时间:2023-10-30 01:07:36 25 4
gpt4 key购买 nike

In [49]: timeit.timeit("np.exp(100)", setup="import numpy as np")
Out[49]: 1.700455904006958

In [50]: timeit.timeit("np.e**100", setup="import numpy as np")
Out[50]: 0.16629505157470703

使用 np.e**100 的 CPython 实现比使用 numpy 版本慢得多有什么原因吗? numpy 版本被下推到 C 代码时不应该更快吗?

最佳答案

一个明显的原因是 np.exp 被设置为处理数组,并且在确定输入的类型/维度方面可能涉及一些开销。尝试这些案例,您可能会发现差异减少或消失:

timeit.timeit("np.exp(x)", 
setup="import numpy as np; x = np.array([99, 100, 101])")
# This actually seems to be faster than just calculating
# it for a single value
Out[7]: 1.0747020244598389

timeit.timeit("[np.e**n for n in x]",
setup="import numpy as np; x = [99, 100, 101]")
Out[8]: 0.7991611957550049

关于python - np.exp 比 np.e 慢多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30021428/

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