cProfile Python性能分析工具使用詳解
前言
Python自帶了幾個(gè)性能分析的模塊: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個(gè)函數(shù),總共花費(fèi)了10.138s,按著運(yùn)行函數(shù)名字排序?yàn)榻Y(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)時(shí)間多少排序
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í)有所幫助,也希望大家多多支持腳本之家。
- python一些性能分析的技巧
- Python性能分析工具py-spy原理用法解析
- Python內(nèi)置類型性能分析過程實(shí)例
- Python性能分析工具Profile使用實(shí)例
- Python中判斷子串存在的性能比較及分析總結(jié)
- 使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析
- Python爬蟲分析微博熱搜關(guān)鍵詞的實(shí)現(xiàn)代碼
- 使用bandit對目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析
- python中delattr刪除對象方法的代碼分析
- python3中確保枚舉值代碼分析
- python如何做代碼性能分析
相關(guān)文章
python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn)
這篇文章主要介紹了python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python實(shí)現(xiàn)暴力匹配算法(字符串匹配)
本文主要介紹了Python實(shí)現(xiàn)暴力匹配算法,其主要思想是逐個(gè)字符地比較文本串和模式串,從文本串的每個(gè)可能的起始位置開始,依次檢查是否有匹配的子串,下面就來介紹 一下如何實(shí)現(xiàn)2023-09-09
Python多線程采集二手房源數(shù)據(jù)信息流程詳解
這篇文章主要介紹了Python多線程采集二手房源數(shù)據(jù)信息流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
jmeter執(zhí)行python腳本的實(shí)現(xiàn)示例
本文主要介紹了jmeter執(zhí)行python腳本的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

