Python性能分析,使用cProfile可视化并解决性能瓶颈问题( 二 )


看起来,42.73%的执行时间来自于generate_results_hometeam_current_season,而42.57%的执行时间来自于generate_resukts_awayteam_current_season 。
由于它们对速度的影响相同,我可以选择处理其中的任意一个函数 。
或者,如果需要的话,可以更深入地调查一级 。
优化建议从优化耗时最长的函数开始 。所需的重构对代码来说将是非常具体的 。以下是一些典型优化的示例:

  • 将嵌套的for循环转换为单个for循环 。
  • 实现多进程 。
  • 使用向量化 。
重复进行当应用了第一个优化后,可以根据实际需要多次进行测量-可视化-优化周期,以达到符合要求的总运行时间 。
结论当涉及到优化代码时,遵循数据驱动的方法,能确保在不进行太多猜测和浪费时间的情况下,取得快速进展 。

【Python性能分析,使用cProfile可视化并解决性能瓶颈问题】


推荐阅读