Python 为什么numpy和scipy exp()比log()快?
一般来说,log和exp函数的速度应该大致相同。我希望numpy和scipy实现是相对简单的包装器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阶幂级数。但是,对于幂级数
numpy.log()。但是,我发现numpy.log()
比这些exp()
函数慢约60%,而scipy.log()
则慢100%。有人知道原因吗?不知道为什么你认为两者应该“大致相同的速度”。的确,这两种方法都可以用泰勒级数来计算(即使在不分析误差项的情况下,泰勒级数本身也没有什么意义),但随后,数值技巧开始发挥作用
例如,可用于将原始exp.Taylor级数转换为更有效的2阶幂级数。但是,对于幂级数,请参阅关于按情况优化的讨论,其中一些涉及查找表
您为函数提供了哪些参数-相同?每个人最差的一个
结果的准确性如何?你如何衡量每种方法的准确度:绝对的,相对的
编辑应该注意的是,这些库也可以有。在我的简单测试中,np.log
快了60%。是的,使用math.log
和math.exp
列出理解,给出相同的时间。但是numpy代码(不一定)是一个使用math
等价物的简单编译循环。为什么您认为log和exp应该“速度大致相同”?