如何使用line_profiler逐行分析
- 使用easy_install进行安装
easy_install line_profiler
- 使用pip进行安装
pip install line_profiler
安装开发版本
1. 使用git签出(check out)源代码
git clone https://github.com/rkern/line_profiler.git
2. 签出源代码后,用如下方式构建并安装
python setup.py install
编写可供分析的代码
编写一个脚本,用来计算一系列不同大小的包含随机数的矩阵的平方。
同时要求对应的线程能休眠几秒钟。
待分析的函数需要用@profile进行标记。import numpy import time @ profile def multply(n): A = numpy.random.rand(n, n) time.sleep(numpy.random.randint(0,2)) return numpy.matrix(A) ** 2 for n in 2 ** numpy.arrange(0, 10): multply(n)
对代码进行分析
kernprof -l -v mat_mult.py
Line# Hits Time Per Hit % Time Line Contents
什么是line_profiler
line_profiler可以对Python代码进行逐行分析。