欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python性能測量工具cProfile使用解析

 更新時間:2019年09月26日 08:54:19   作者:wellwill  
這篇文章主要介紹了python性能測量工具cProfile使用解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

背景:

Python是一種解釋性的語言,執(zhí)行速度相比C、C++等語言十分緩慢;因此我們需要在其它地方上下功夫來提高代碼的執(zhí)行速度。

首先需要對代碼進行分析,這個時候則需要用一些工具。

這里介紹cProfile:

全代碼分析:

命令行:

cProfile -s tottime your_program.py

結(jié)果如下:

ncalls tottime percall cumtime percall filename:lineno(function)
  66  0.001  0.000  11.850  0.180 base.py:228(micro_service)
  66  0.003  0.000  11.849  0.180 tools.py:557(micro_service)
 1056  0.001  0.000  11.073  0.010 connection.py:463(drain_events)
 1056  0.015  0.000  11.072  0.010 connection.py:466(blocking_read)
 1056  0.008  0.000  10.920  0.010 transport.py:233(read_frame)
 3168  0.014  0.000  10.908  0.003 transport.py:370(_read)
 3168  10.892  0.003  10.892  0.003 {method 'recv' of '_socket.socket' objects}
  66  0.001  0.000  9.814  0.149 rpc.py:350(__call__)
  66  0.001  0.000  8.395  0.127 rpc.py:329(result)

塊分析:

上面屬于文件分析,但是我們可能只對部分代碼感興趣,那么只需要在這部分代碼的前后加上下面這兩段代碼即可:

import cProfile
cp = cProfile.Profile()
cp.enable()
YOUR CODE
cp.disable()
cp.print_stats()

結(jié)果與全代碼分析的類似,但是只包含你感興趣的部分。

行分析:

行分析需要安裝line_profiler:

pip install line_profiler
@profile
def class_name()
	pass

然后在命令行輸入:

kernprof -l -v your_code.py
-l 逐行分析
-v 立即查看結(jié)果

示例:

from cProfile import Profile as profile 
from pstats import Stats 
def (): 
	p = profile() 
	p.snapshot_stats() 
	p.enable() 
	
	p.disable() 
	p.print_stats(2) # 按照調(diào)用累加總耗時累加排序,即將最耗時的函數(shù)最優(yōu)先
	p.dump_stats("call.log")

關(guān)于profile和cProfile的更多鏈接,請點擊:

https://docs.python.org/3/library/profile.html?spm=5176.100239.0.0.qa5fU5

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python文件與目錄操作實例詳解

    python文件與目錄操作實例詳解

    這篇文章主要介紹了python文件與目錄操作方法,結(jié)合實例形式詳細分析了Python關(guān)于文件與目錄操作的常見技巧與使用方法,需要的朋友可以參考下
    2016-02-02
  • Python中xrange與yield的用法實例分析

    Python中xrange與yield的用法實例分析

    這篇文章主要介紹了Python中xrange與yield的用法,結(jié)合實例形式較為詳細的分析了range和xrange功能、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-12-12
  • Python常見錯誤:IndexError:?list?index?out?of?range解決

    Python常見錯誤:IndexError:?list?index?out?of?range解決

    最近在寫一個爬蟲程序,但是卻出現(xiàn)了錯誤提示IndexError:?list?index?out?of?range,所以下面這篇文章主要給大家介紹了關(guān)于Python常見錯誤:IndexError:?list?index?out?of?range的解決方法,需要的朋友可以參考下
    2023-01-01
  • Python Spyder 調(diào)出縮進對齊線的操作

    Python Spyder 調(diào)出縮進對齊線的操作

    這篇文章主要介紹了Python Spyder 調(diào)出縮進對齊線的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Python中Yield的基本用法

    Python中Yield的基本用法

    這篇文章主要給大家介紹了關(guān)于Python中Yield的基本用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python實現(xiàn)最長公共子序列

    python實現(xiàn)最長公共子序列

    這篇文章主要為大家詳細介紹了python實現(xiàn)最長公共子序列的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python和Java的語法對比分析語法簡潔上python的確完美勝出

    Python和Java的語法對比分析語法簡潔上python的確完美勝出

    Python是一種廣泛使用的解釋型、高級編程、通用型編程語言,由吉多·范羅蘇姆創(chuàng)造,第一版發(fā)布于1991年。這篇文章主要介紹了Python和Java的語法對比,語法簡潔上python的確完美勝出 ,需要的朋友可以參考下
    2019-05-05
  • python灰色預(yù)測法的具體使用

    python灰色預(yù)測法的具體使用

    灰色系統(tǒng)理論認(rèn)為對既含有已知信息又含有未知或非確定信息的系統(tǒng)進行預(yù)測,本文就介紹了python灰色預(yù)測法的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2022-03-03
  • python里面單雙下劃線的區(qū)別詳解

    python里面單雙下劃線的區(qū)別詳解

    本文主要介紹了python里面單雙下劃線的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)

    Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識總結(jié)

    本次要總結(jié)的的內(nèi)置函數(shù)共8個,他們都跟面向?qū)ο蟮闹R相關(guān),文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論