Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将python评测为固定的调用深度_Python_Profiling - Fatal编程技术网

将python评测为固定的调用深度

将python评测为固定的调用深度,python,profiling,Python,Profiling,标准分析器的输出通常被低级函数花费的时间的细节所阻塞。在一个大型、复杂的项目中,我想首先大致了解代码的哪些部分比其他部分花费的时间更长 具体地说,我想知道是否有一种方法可以告诉探查器报告限于特定调用深度的结果。例如,设置depth=0应该只显示整个python脚本的总时间;深度=1可以显示脚本上各行的时间;depth=2可以显示脚本中函数调用函数的时间,依此类推 有这样一个工具吗?它可能不是您想要的,但我个人觉得非常有用。它将内置cProfile的输出转换为一种格式,这种格式无法被类似的工具所使

标准分析器的输出通常被低级函数花费的时间的细节所阻塞。在一个大型、复杂的项目中,我想首先大致了解代码的哪些部分比其他部分花费的时间更长

具体地说,我想知道是否有一种方法可以告诉探查器报告限于特定调用深度的结果。例如,设置depth=0应该只显示整个python脚本的总时间;深度=1可以显示脚本上各行的时间;depth=2可以显示脚本中函数调用函数的时间,依此类推


有这样一个工具吗?

它可能不是您想要的,但我个人觉得非常有用。它将内置cProfile的输出转换为一种格式,这种格式无法被类似的工具所使用。 (也有使用不同小部件集的实现,例如qcachegrind)

KCacheGrind等工具允许您可视化分析代码的调用树,并且很容易看到特定调用函数(即顶级主函数)的哪些被调用方消耗的时间最多-查看附带的屏幕截图以获得更好的想法。 (图片来源:)

安装了
pyprof2calltree
KCacheGrind
,可视化探查器输出只需一个命令:

pyprof2calltree -k -i todo_profile.cprof
-i
选项指定了i输入文件的内容,
-k
开关运行已安装的可视化工具(例如KCacheGrind)