歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python腳本性能剖析

Python腳本性能剖析

日期:2017/3/1 9:36:18   编辑:Linux編程

Python腳本性能剖析

$ python -m cProfile -o test1.out test1.p
$ python -c "import pstats; p=pstats.Stats('test1.out'); p.print_stats()"
$ python -c "import pstats; p=pstats.Stats('test1.out'); p.sort_stats('time').print_stats()"
除了命令行外,可直接在腳本內部使用


sort_stats支持以下參數:
ncalls 被調用次數
cumulative 函數運行的總時間
file 文件名
module 文件名
pcalls 簡單調用統計(兼容舊版,未統計遞歸調用)
line 行號
name 函數名
nfl Name/file/line
stdname 標准函數名
time 函數內部運行時間(不計調用子函數的時間)


輸出結果說明:
ncalls 函數的被調用次數
tottime 函數總計運行時間,除去函數中調用的函數運行時間
percall 函數運行一次的平均時間,等於tottime/ncalls
cumtime 函數總計運行時間,含調用的函數運行時間
percall 函數運行一次的平均時間,等於cumtime/ncalls
filename:lineno(function) 函數所在的文件名,函數的行號,函數名


Stats的若干參數
strip_dirs() 用以除去文件名前名的路徑信息。
add(filename,[…]) 把profile的輸出文件加入Stats實例中統計
dump_stats(filename) 把Stats的統計結果保存到文件
sort_stats(key,[…]) 最重要的一個函數,用以排序profile的輸出
reverse_order() 把Stats實例裡的數據反序重排
print_stats([restriction,…]) 把Stats報表輸出到stdout
print_callers([restriction,…]) 輸出調用了指定的函數的函數的相關信息
print_callees([restriction,…]) 輸出指定的函數調用過的函數的相關信息

Python向PHP發起GET與POST請求 http://www.linuxidc.com/Linux/2014-10/107903.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved