我正在使用Spyder IDE分析我的python代码。
如下面的屏幕截图所示,它花费了1.20分钟= 80
_get_loglik_seq
函数执行的秒数。但是,构成此功能的各种功能/过程的时间如下:solve_EV
= 29.78s,c_get_gamma
= 10.12秒,norm
= 6.57秒,outer
= 4.70秒,<method dot ...
:2.17秒,所有其他时间:<1秒。
如果将这些时间相加,结果将约为54 s,比80s小得多。
怎么可能?是探查器错误还是我错过了什么?谁能为Python代码分析提供一个好的工具? (我在Mac OS上工作)
谢谢, 米哈伊尔
答案 0 :(得分:1)
原因如下:
总时间=函数执行时间,包括所有子功能。
本地时间=没有子功能的函数的执行时间。
因此,如果函数p
调用子函数s1
,s2
,s3
,则:
ToTtime(p)=ToTtime(s1)+ToTtime(s1)+ToTtime(s1)+Localtime(p),
大致成立。