x*x 或 x**2 哪个更快?

kmo*_*oor 10 python performance mathematical-optimization cpu-speed

我正在尝试优化我的 Python 代码。之间:

y = x*x
Run Code Online (Sandbox Code Playgroud)

或者

y = x**2
Run Code Online (Sandbox Code Playgroud)

如果我需要在一个速度关键的程序中进行一万亿次迭代,我应该选择哪一个?

gth*_*der 3

x**2比 更快x*x

O(n)在 Python 中实现指数会产生一些开销,因此使用乘法计数较少的自定义乘法通常会更快。x*x*x*x*x比 快得多x**5。指数时间是一种常数。乘法时间随着指数参数的增加而增加,因此对于较大的参数,最好使用指数。然而,对于非常小的参数(2,在你的例子中),指数比乘法更快。并且x**2比 更快x*x,尽管x**3比 慢得多x*x*x您可以在这个答案中找到一个很好的基准。

  • [`x*x` 可以比 `x**2` 更快](http://stackoverflow.com/questions/20776706/python-which-one-is-faster- Between-x2-or-xx#comment31142323_20776706) 。看来你的意思与你所说的相反。 (8认同)