我试图理解为什么1奉献python函数比手动函数慢。
我使用timeit为2函数创建基准。
我循环了100次。
nb**3
= ~28.166s
nb*nb*nb
= ~10.529s
(在Windows上使用Python 3.5)
我不明白为什么python(power operator)创建的运算符比其他运行符花费更多时间。 power运算符由Python定义,我们不需要添加像math.pow
这样的新函数。
def power_test():
nb = 2;
for i in range(100):
b = nb**3
def repeat_test():
nb = 2;
for i in range(100):
b = nb*nb*nb;
if __name__ == '__main__':
import timeit
print("start bench1");
print(timeit.timeit("power_test()", setup="from __main__ import power_test"))
print("end bench1\n");
print("start Bench2");
print(timeit.timeit("repeat_test()", setup="from __main__ import repeat_test"));
print("end bench2\n");
完整结果:
start bench1
28.166055432365265
end bench1
start Bench2
10.52991797905926
end bench2
谢谢