我在Spyder IDE中使用探查器来剖析一个简单的程序。其中一个功能make_geology
是代码中最贪婪的部分。它似乎使用24.7时间单位(他们是秒?)。但是当我看到make_geology
(我用黄色突出显示的所有内容)所做的所有呼叫时,该时间总计只会累计1.3个时间单位。
我误解了测量和分配函数所花的时间吗?我会花时间花在make_geology =花费在所有东西里面的时间总和make_geology
我在Spyder IDE中使用探查器来剖析一个简单的程序。其中一个功能make_geology
是代码中最贪婪的部分。它似乎使用24.7时间单位(他们是秒?)。但是当我看到make_geology
(我用黄色突出显示的所有内容)所做的所有呼叫时,该时间总计只会累计1.3个时间单位。
我误解了测量和分配函数所花的时间吗?我会花时间花在make_geology =花费在所有东西里面的时间总和make_geology
似乎make_geology有一些功能是在函数调用本身完成的,而不是“卸载”到其他组件(函数) 。试想一下,这样的事情:
def add_and_count(mylist, mynumber):
i = 0
while i < mynumber:
i = i + 1
mylist.append(i)
如果mynumber的是0,执行add_and_count应约同执行列表的append通话的时间。如果mynumber是巨大的,list.append将是一个下降的桶
你试过[*这个方法*](http://stackoverflow.com/a/4299378/23771)?首先,它对百分比敏感,而不是绝对测量,所以它直接告诉你什么是小猪。它也告诉你为什么。 –