我在终端上运行以下代码行以获取我的程序的个人资料。
python3 -m cProfile -s time main.py
然而,它输出的输出是巨大的。我只想知道10个最耗时的任务或按升序排序。我怎么能告诉cprof?
答案 0 :(得分:0)
我在this其他答案找到了解决方案。解决方案是在要分析的脚本内部使用cProfile,而不是在命令行外部使用。
我的脚本如下所示:
def run_code_to_be_profiled():
pass
if __name__ == "__main__":
import cProfile
pr = cProfile.Profile()
pr.enable()
run_code_to_be_profiled()
pr.disable()
pr.print_stats(sort='time')
我运行脚本并获得有用的输出。
答案 1 :(得分:0)
尝试
python3 -m cProfile -s cumtime main.py
答案 2 :(得分:0)
要打印名为“function_to_profile”的函数的 10 个最耗时的任务,您可以运行以下命令:
if __name__ == "__main__":
import cProfile
from pstats import Stats
pr = cProfile.Profile()
pr.enable()
function_to_profile()
pr.disable()
stats = Stats(pr)
stats.sort_stats('tottime').print_stats(10)