擅长:python、mysql、java
<p>我怀疑问题是<code>np.power</code>总是做浮点求幂,它不知道如何在您的平台(或者,可能是大多数/所有的平台)上优化或矢量化,而乘法很容易被抛到SSE中,即使您不知道,它也相当快</p>
<p>即使<code>np.power</code>足够聪明,可以分别进行整数幂运算,除非它将小值展开成重复乘法,否则它仍然不会快得多。</p>
<p>通过比较int到int、int到float、float到int和float到float的时间,您可以很容易地验证这一点:对于一个小数组,int到int的速度大约是其他数组的5倍,但仍然比乘法慢4倍(尽管我使用PyPy测试了一个定制的NumPy,所以对于具有正常的NumPy安装在CPython上,以提供真正的结果…)</p>