cProfile Python性能分析工具使用詳解
前言
Python自帶了幾個性能分析的模塊:profile、cProfile和hotshot,使用方法基本都差不多,無非模塊是純Python還是用C寫的。本文介紹cProfile。
例子
import time
def func1():
sum = 0
for i in range(1000000):
sum += i
def func2():
time.sleep(10)
func1()
func2()
運(yùn)行
python -m cProfile del.py
運(yùn)行結(jié)果

結(jié)果分析
執(zhí)行了6個函數(shù),總共花費(fèi)了10.138s,按著運(yùn)行函數(shù)名字排序為結(jié)果輸出。
運(yùn)行腳本
python -m cProfile -o del.out del.py
這里以模塊方式直接保存profile結(jié)果,可以進(jìn)一步分析輸出結(jié)果,運(yùn)行
python -c "import pstats; p=pstats.Stats('del.out'); p.print_stats()"
結(jié)果(隨機(jī))

可以設(shè)置排序方式,例如以花費(fèi)時間多少排序
python -c "import pstats; p=pstats.Stats('del.out'); p.sort_stats('time').print_stats()"

sort_stats支持以下參數(shù):
calls, cumulative, file, line, module, name, nfl, pcalls, stdname, time
pstats模塊還支持交互式

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實現(xiàn)
這篇文章主要介紹了python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python多線程采集二手房源數(shù)據(jù)信息流程詳解
這篇文章主要介紹了Python多線程采集二手房源數(shù)據(jù)信息流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
jmeter執(zhí)行python腳本的實現(xiàn)示例
本文主要介紹了jmeter執(zhí)行python腳本的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

