Python cProfile结果似乎没有加起来

时间:2014-01-29 16:15:03

标签: python arcpy cprofile

我附上了Python脚本的cProfile结果的屏幕截图。我知道第二行是指arcpy site-package中的地理处理功能。但是,我不清楚第一行是指什么:

  

C:\ Program Files   (86)\的ArcGIS \ Desktop10.2 \ ArcPy中\ ArcPy中\ geoprocessing_base.py:498()

我看到第1行在每次通话72秒时被召唤3次,第2行被召唤一次,每次呼叫216次。但是,这些似乎不超过219s。我该如何解释这些结果?

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要将累积时间与功能时间区分开来。左侧的数字对应于函数中实际消耗的时间。累积包括此功能消耗的时间加上所有子功能消耗的时间。

因此,在这种情况下,FeatureClassToFeatureClass称为lambda函数3次,但其他方面做得很少。 lambda本身每次呼叫约72秒,3次呼叫,总共约216s。它没有打电话给任何其他人,所以它的累积时间大致等于它的累积时间。 FeatureClassToFeatureClass函数本身并没有做太多,所以它的总时间几乎为零。但是,由于它将lambda函数称为3次,并且该函数长时间运行,因此其累积时间很长。