我在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)?首先,它對百分比敏感,而不是絕對測量,所以它直接告訴你什麼是小豬。它也告訴你爲什麼。 –