声明:
本博客欢迎转发,但请保留原作者信息!内容系本人学习、研究和总结,如有雷同,实属荣幸!
原文地址:http://blog.csdn.net/gtt116/article/details/8913519
概述
本文介绍基本的python profilter方法,并且用Openstack Nova作为例子展示具体使用方法。
本文介绍的profiler方法区别于一般常用的使用python
cProfile模块,
cProfile模块的分析结果不直观,并且仍然无法精确定位具体出问题代码。
本文的profile的最小粒度是“行”,profile的结果需要展示某行代码对CPU和memory的影响,最终帮助我们优化代码。
CPU Profiler
我们使用
Robert Kern 写的 line_profiler 项目,安装
$ pip install line_profiler
会安装一个可执行文件“kernprof.py”。然后修改目标代码,只要在需要测试的函数加上@profile,不用import任何东西,只要加上这一句即可,因为kernprof会动态插入。
test.py
@profile
def ru