繁体   English   中英

Python的POW实现比我自己的快得多

[英]Python's POW implementation much faster than my own

我正在Python3中练习快速幂算法,并针对Python的内置幂函数对其进行了测试。

为什么事实证明内置功能如此之快?

我的代码:

def levinPOW(n, k):
  res = 1
  while k:
    if k&1:
      res *= n
    n *= n
    k = k >> 1
  return res

import time
start = time.time()
a = levinPOW(2, 10000000)
end = time.time()
print(end-start)
start = time.time()
b = 2 ** 10000000
end = time.time()
print(end-start)
print(a==b)

结果:

0.31336236000061035
4.291534423828125e-06
True

内置函数是用C实现的,比用Python实现的要快得多。 它还可能有几个人对其进行了速度改进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM