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

时间:2013-12-25 20:57:59

标签: python performance mathematical-optimization cpu-speed

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

y = x*x

y = x**2

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

1 个答案:

答案 0 :(得分:4)

x**2x*x快。

exponent的实现在Python中有一些开销,因此使用自定义乘法O(n)和较小的乘法计数通常会更快。 x*x*x*x*xx**5快。指数时间是一种常数。乘法时间随着指数参数的增加而增加,因此使用大参数时最好使用指数。但是,如果参数非常小(在您的情况下为2),则指数比乘法更快。并且x**2x*x快,但x**3x*x*x慢。你可以找到一个不错的基准in this answer