目录

python 性能分析

# python 性能分析

相关资料:

# 安装依赖

pip install pstats  
pip install snakeviz  
1
2

# 获取程序运行数据

# 通过cProfile获取性能分析数据

  • cProfile自python2.5以来就是标准版Python解释器默认的性能分析器。
  • cProfile是一种确定性分析器,只测量CPU时间,并不关心内存消耗和其他与内存相关联的信息。
def run_1():  
  """your function """  
  pass  
  
  
def profile_func(func):  
  import cProfile  
  file_name = "prof_{}_1.pstat".format(func.__name__)  
  cProfile.run("{}()".format(func.__name__), file_name)  
  import pstats  
  p = pstats.Stats(file_name).sort_stats("cumtime")  
  # p.print_stats("rqalpha_mod_ricequant_data")  
  p.print_stats("base_position")  
  return p  
  
  
if __name__ == '__main__':  
  p = profile_func(run_1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 通过pycharm直接获取运行数据

Pycharm 右上角启动按钮旁边有性能分析按钮,
点击后会自动弹出pycharm自带的性能分析界面,
当然也可以复制.pstat文件地址,使用snakeviz进行分析(推荐)。


# snakeviz 生成剖面图

运行目录下 命令行输入:snakeviz prof_run_1_1.pstat

点击生成的连接 查看柱状剖面图

image.png


# gprof2dot 时间分析图

gprof2dot -f pstats mkm_run.prof | dot -Tpng -o mkm_run.png

image.png

上次更新: 2024-01-10 16:01:00
最近更新
01
自建 RSS 订阅
01-05
02
搭建私人 docker hub
01-02
03
关于 SSH 攻击
10-12
更多文章>