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()
運行
python -m cProfile del.py
運行結果
結果分析
執(zhí)行了6個函數,總共花費了10.138s,按著運行函數名字排序為結果輸出。
運行腳本
python -m cProfile -o del.out del.py
這里以模塊方式直接保存profile結果,可以進一步分析輸出結果,運行
python -c "import pstats; p=pstats.Stats('del.out'); p.print_stats()"
結果(隨機)
可以設置排序方式,例如以花費時間多少排序
python -c "import pstats; p=pstats.Stats('del.out'); p.sort_stats('time').print_stats()"
sort_stats支持以下參數:
calls, cumulative, file, line, module, name, nfl, pcalls, stdname, time
pstats模塊還支持交互式
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
賺瘋了!轉手立賺800+?大佬的python「搶茅臺腳本」使用教程
這篇文章主要介紹了如果利用python搶購京東茅臺,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01python下setuptools的安裝詳解及No module named setuptools的解決方法
這篇文章主要給大家介紹了關于python下setuptools的安裝以及No module named setuptools問題的解決方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07導入tensorflow時報錯:cannot import name ''abs''的解決
這篇文章主要介紹了導入tensorflow時報錯:cannot import name 'abs'的解決,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10對python中數據集劃分函數StratifiedShuffleSplit的使用詳解
今天小編就為大家分享一篇對python中數據集劃分函數StratifiedShuffleSplit的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12