7

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

y = x*x

或者

y = x**2

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

4

1 回答 1

4

x**2比 快x*x

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

于 2013-12-25T21:10:48.463 回答