我在终端上运行以下代码行,以获取程序的配置文件。

python3 -m cProfile -s time  main.py


但是它输出的输出是巨大的。我只想知道10个最耗时的任务或将它们按升序排序。我该如何告诉cprof?

最佳答案

我在this其他答案中找到了解决方案。解决方案是在要分析的脚本内部使用cProfile,而不是在命令行外部使用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')


我运行脚本并获得有用的输出。

10-06 08:24