我正在努力减少重构的程序的执行时间,并且在理解PyCharm中探查器的输出以及如果直接运行cProfile会得到的输出与输出的关系方面遇到困难。(下面显示了我的输出,突出显示了两行有趣的内容,在尝试进行修复之前,我想确保自己理解正确。)特别是,“时间”和“自己的时间”列代表什么?我猜Own Time是该函数消耗的时间,减去该函数中进行的任何其他调用的时间,而time是每个函数所花费的总时间(即,它们分别重命名为tottime和cumtime),但是我可以找不到任何能清楚地记录下来的东西。
另外,如何使用PyCharm的探查器或香草cProfile查找有关特别昂贵的功能的更多信息?例如,_strptime似乎花了我很多时间,但是我知道我的代码在四个不同的函数中都使用了它。我想了解一下这200万个调用在我的各个职能中的分布情况。我猜想calc_near_geo_size_and_latency函数中有一个不成比例的数字,但是在重写代码之前,我想要更多的证明。(我意识到我可以单独分析功能并进行比较,但我希望有一些简洁的方法。)
我正在使用Python 3.6和PyCharm Professional 2018.3。