我想优化一些代码,所以我想我会仔细研究我的瓶颈在哪里。我有四个功能,包装eachother如:为什么嵌套时函数的速度测试不会添加? (Python)
return f1(f2(f3(f4())))
所以我测试每个单独以及整体。当单独地我基本上预先计算了以前的功能。但是,我认为他们会加起来总的时间。但他们没有,在我结合他们时,它显着增长。所以我决定以较小的比例来看待它。我写了这个测试
def f1():
return 2
def f2(num):
return num*num
def test():
for i in range(1000000):
f1()
def test2():
for i in range(1000000):
f2(2)
def test3():
for i in range(1000000):
f2(f1())
我回到测试为0.085秒,TEST2作为0.125秒和TEST3作为0.171秒。这使我困惑于两种方式。 1)为什么不测试3.21秒,和2)为什么它缩短了,而不是我的问题变得更长?
这些结果有多可重复性? – recursive
你怎么测试时间(出于好奇)? –
@递归,它们总是相同的,经过多次测试。 –