我在Spyder IDE中使用分析器来分析一个简单的程序。其中一个函数make_geology
是代码中最脏的部分。它似乎使用24.7个时间单位(它们是几秒?)。但是,当我查看make_geology
内的所有呼叫(我用黄色突出显示的所有内容)时,这个时间总和最多只能增加1.3个时间单位。
我是否误导了在功能上花费的时间的测量和分配?我原以为花在make_geology上的时间= make_geology中所有内容花费的时间总和
答案 0 :(得分:0)
似乎make_geology具有一些在函数调用本身内完成的功能,而不是" offloaded"到其他组件(功能)。想象一下这样的事情:
def add_and_count(mylist, mynumber):
i = 0
while i < mynumber:
i = i + 1
mylist.append(i)
如果mynumber为0,则执行add_and_count的时间应与执行list的追加调用的时间大致相同。如果mynumber很大,那么list.append将会成为一个下降