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