您的位置:首页 > 其它

profile cProfile 效率分析

2018-08-12 11:05 337 查看
版权声明:本文为博主原创,转载请注明出处。 https://blog.csdn.net/Chihwei_Hsu/article/details/81604553

功效:对脚本进行简单的效率分析并生成分析图表

test.py:

import os
import sys

def process(filename):
print filename

for (dirpath, dirnames, filenames) in os.walk(sys.argv[1]):
for filename in filenames:
process(filename)

cProfile用法:

# 生成.pstats分析文档
python -m cProfile -o profile.pstats test.py /usr

# 排序
python -m cProfile -s tottime myscript.py

# 查看pstats文档
python -m pstats profile.pstats
# ?: 查看可用指令;sort cumtime:排序;stats:查看pstats文档

-s 选项:
'calls' (call count)
'cumulative' (cumulative time)
'cumtime' (cumulative time)
'file' (file name)
'filename' (file name)
'module' (file name)
'ncalls' (call count)
'pcalls' (primitive call count)
'line' (line number)
'name' (function name)
'nfl' (name/file/line)
'stdname' (standard name)
'time' (internal time)
'tottime' (internal time)

gprof2dot用法:

# 安装 gprof2dot
pip install gprof2dot
# 通过.pstats文档生成相应的dot文档
python -m gprof2dot -f pstats profile.pstats
# 安装graphviz(centOS系统)
sudo yum install graphviz
# 输出png文档
python -m gprof2dot -f pstats profile.pstats | dot -T png -o profile.png

作者:Chihwei_hsu
来源:http://chihweihsu.com
Github:https://github.com/HsuChihwei

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: