我正在尝试优化我的 Python 代码。之间:
y = x*x
或者
y = x**2
如果我在一个速度关键的程序中需要一万亿次迭代,我应该选择哪一个?
我正在尝试优化我的 Python 代码。之间:
y = x*x
或者
y = x**2
如果我在一个速度关键的程序中需要一万亿次迭代,我应该选择哪一个?
x**2
比 快x*x
。
指数的实现在 Python 中有一些开销,因此使用O(n)
具有少量乘法计数的自定义乘法通常更快。x*x*x*x*x
比 .快得多x**5
。指数时间是一种常数。您的乘法时间随着指数参数的增加而增加,因此对于较大的参数,最好使用指数。但是,对于非常小的参数(在您的情况下为 2),指数比乘法快。并且x**2
比 快x*x
,虽然x**3
比 慢得多x*x*x
。你可以在这个答案中找到一个很好的基准。