gpt4 book ai didi

python - 计算能力的速度(在python中)

转载 作者:IT老高 更新时间:2023-10-28 22:04:19 25 4
gpt4 key购买 nike

我很好奇为什么它的乘法比在 python 中获得权力要快得多(尽管从我读到的内容来看,这在许多其他语言中也可能是正确的)。例如,它的速度要快得多

x*x

x**2

我认为 ** 运算符更通用,也可以处理分数幂。但如果这就是它慢得多的原因,为什么它不检查 int 指数然后只做乘法?

编辑:这是我尝试过的一些示例代码...

def pow1(r, n):
for i in range(r):
p = i**n

def pow2(r, n):
for i in range(r):
p = 1
for j in range(n):
p *= i

现在,pow2 只是一个简单的例子,显然没有优化!
但即便如此,我发现使用 n = 2 和 r = 1,000,000,然后 pow1 需要 ~ 2500 毫秒,而 pow2 需要 ~ 1700 毫秒。
我承认对于较大的 n 值,pow1 确实比 pow2 快得多。但这也不足为奇。

最佳答案

基本上天真的乘法是 O(n),具有非常低的常数因子。取幂是 O(log n) ,常数因子更高(有特殊情况需要测试......分数指数,负指数等)。编辑:为了清楚起见,这是 O(n),其中 n 是指数。

当然,对于较小的 n,天真的方法会更快,您实际上只是实现了指数数学的一小部分,因此您的常数因子可以忽略不计。

关于python - 计算能力的速度(在python中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com