Sustie

主页 所有文章 文章检索

Python性能分析教程

Python标准库里面有两个可以用于性能分析的模块:cProfileprofilecProfile是用C编写的,而profile是用纯Python实现的。它们的接口类似,但是并不完全相同,比如说它们的输出文件格式不同。有一个知名的库snakeviz可以用来可视化cProfile的输出文件,但是它不支持profile的输出文件。cProfile不仅更快,还被snakeviz所支持,所以大多数时候还是推荐使用cProfile

cProfile有很多接口,但是最简单的用法就是使用python -m cProfile命令直接测试一个脚本:

python -m cProfile -o out_file src.py

然后就可以用snakeviz来可视化out_file的内容了:

pip install snakeviz
snakeviz out_file