Python 为什么numpy和scipy exp()比log()快?

Python 为什么numpy和scipy exp()比log()快?,python,performance,numpy,scipy,Python,Performance,Numpy,Scipy,一般来说,log和exp函数的速度应该大致相同。我希望numpy和scipy实现是相对简单的包装器numpy.log()。但是,我发现numpy.log()比这些exp()函数慢约60%,而scipy.log()则慢100%。有人知道原因吗?不知道为什么你认为两者应该“大致相同的速度”。的确,这两种方法都可以用泰勒级数来计算(即使在不分析误差项的情况下,泰勒级数本身也没有什么意义),但随后,数值技巧开始发挥作用 例如,可用于将原始exp.Taylor级数转换为更有效的2阶幂级数。但是,对于幂级数

一般来说,log和exp函数的速度应该大致相同。我希望numpy和scipy实现是相对简单的包装器
numpy.log()。但是,我发现
numpy.log()
比这些
exp()
函数慢约60%,而
scipy.log()
则慢100%。有人知道原因吗?

不知道为什么你认为两者应该“大致相同的速度”。的确,这两种方法都可以用泰勒级数来计算(即使在不分析误差项的情况下,泰勒级数本身也没有什么意义),但随后,数值技巧开始发挥作用

例如,可用于将原始exp.Taylor级数转换为更有效的2阶幂级数。但是,对于幂级数,请参阅关于按情况优化的讨论,其中一些涉及查找表


您为函数提供了哪些参数-相同?每个人最差的一个

结果的准确性如何?你如何衡量每种方法的准确度:绝对的,相对的



编辑应该注意的是,这些库也可以有。

在我的简单测试中,
np.log
快了60%。是的,使用
math.log
math.exp
列出理解,给出相同的时间。但是numpy代码(不一定)是一个使用
math
等价物的简单编译循环。为什么您认为log和exp应该“速度大致相同”?