我很好奇,决定在Python中运行这段代码:
import time
def timeit(function):
strt = time.time()
for _ in range(100_000_000):
function()
end = time.time()
print(end-strt)
@timeit
def function1():
return 1 * 1
@timeit
def function2():
return 1_000_000_000_000_000_000_000_000_000_000 * 1_000_000_000_000_000_000_000_000_000_000
@timeit
def function3():
return 1_000_000_000_000_000_000_000_000_000_000 ** 2
这是我的结果:
4.712368965148926
9.684480905532837
11.74640703201294
为什么第三个函数(平方)比第二个函数(乘以自身)慢?计算机里面发生了什么,我原本以为进行指数运算只是直接将一个数乘以自己?