国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

4個(gè)python內(nèi)存性能檢測(cè)工具:memory_profiler、timeit、line_profiler、heartrate的使用案例

這篇具有很好參考價(jià)值的文章主要介紹了4個(gè)python內(nèi)存性能檢測(cè)工具:memory_profiler、timeit、line_profiler、heartrate的使用案例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

這里總結(jié)了4個(gè)比較好的python性能檢測(cè)工具,包括內(nèi)存使用、運(yùn)行時(shí)間、執(zhí)行次數(shù)等方面。

1、memory_profiler查看內(nèi)存的使用情況

memory_profiler可以用來(lái)測(cè)量python進(jìn)程的內(nèi)存使用情況??梢园葱胁榭磧?nèi)存的使用情況。

memory_profiler 是一個(gè)監(jiān)控進(jìn)程內(nèi)存消耗的模塊,可以逐行分析 Python 程序的內(nèi)存消耗。它是一個(gè)依賴(lài) psutil 模塊的純 Python 模塊。

只需要在目標(biāo)函數(shù)上加個(gè)裝飾器 @profile,就可以實(shí)現(xiàn)對(duì)此函數(shù)內(nèi)存使用的統(tǒng)計(jì)。

安裝:pip install -U memory_profiler

官方文檔:https://pypi.org/project/memory-profiler/

案例1,腳本如下:

from memory_profiler import profile

@profile
def base_func1():
    for n in range(10000):
        print(f'當(dāng)前n的值是:{n}')


base_func1()

# 從返回的數(shù)據(jù)結(jié)果來(lái)看,執(zhí)行當(dāng)前函數(shù)使用了45.3 MiB的內(nèi)存。返回結(jié)果如下:
# Line #    Mem usage    Increment  Occurrences   Line Contents
# =============================================================
#     28     45.3 MiB     45.3 MiB           1   @profile
#     29                                         def base_func():
#     30     45.3 MiB      0.0 MiB       10001       for n in range(10000):
#     31     45.3 MiB      0.0 MiB       10000           print('當(dāng)前n的值是:{}'.format(n))

案例2,腳本如下:

# -*- encoding: utf-8 -*-
from memory_profiler import profile


@profile
def my_func():
    a = [1] * (10 ** 6)
    b = [2] * (2 * 10 ** 7)
    del b
    return a


if __name__ == '__main__':
    my_func()

執(zhí)行結(jié)果如下圖:
4個(gè)python內(nèi)存性能檢測(cè)工具:memory_profiler、timeit、line_profiler、heartrate的使用案例

2、timeit 時(shí)間使用情況

timeit是python的內(nèi)置模塊,可以測(cè)試單元格的代碼運(yùn)行時(shí)間,由于是內(nèi)置模塊所以并不需要單獨(dú)安裝。

import timeit

def base_func2():
    for n in range(10000):
        print(f'當(dāng)前n的值是:{n}')

res = timeit.timeit(base_func2,number=5)

print(f'當(dāng)前的函數(shù)的運(yùn)行時(shí)間是:{res}')

# 執(zhí)行結(jié)果如下:
# 0.09903816704172641

3、line_profiler行代碼運(yùn)行時(shí)間檢測(cè)

官方文檔:https://pypi.org/project/line-profiler/

安裝:pip install line_profiler

from line_profiler import LineProfiler


def base_func3():
    for n in range(10000):
        print(f'當(dāng)前n的值是:{n}')


lp = LineProfiler()
lp_wrap = lp(base_func3)
lp_wrap()
lp.print_stats()

"""
執(zhí)行結(jié)果如下:(單位時(shí)間為微妙)
Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     1                                           def base_func3():
     2     10000    1538000.0    153.8      2.8      for n in range(10000):
     3     10000   53417000.0   5341.7     97.2          print('當(dāng)前n的值是:{}'.format(n))"""

4、heartrate可視化檢測(cè)工具

heartrate最值得推薦的是可以在網(wǎng)頁(yè)上面向檢測(cè)心率一樣檢測(cè)程序的執(zhí)行過(guò)程,是非標(biāo)準(zhǔn)庫(kù),2019年11月停止更新。

文檔:https://www.cnpython.com/pypi/heartrate

安裝:pip install heartrate。

使用案例:

import heartrate

heartrate.trace(browser=True)

def base_func4():
    for n in range(10000):
        print(f'當(dāng)前n的值是:{n}')

執(zhí)行完會(huì)在瀏覽器上顯示:
4個(gè)python內(nèi)存性能檢測(cè)工具:memory_profiler、timeit、line_profiler、heartrate的使用案例文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-429949.html

到了這里,關(guān)于4個(gè)python內(nèi)存性能檢測(cè)工具:memory_profiler、timeit、line_profiler、heartrate的使用案例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 性能測(cè)試,python 內(nèi)存分析工具 -memray

    性能測(cè)試,python 內(nèi)存分析工具 -memray

    Memray是一個(gè)由彭博社開(kāi)發(fā)的、開(kāi)源內(nèi)存剖析器;開(kāi)源一個(gè)多月,已經(jīng)收獲了超8.4k的star,是名副其實(shí)的明星項(xiàng)目。今天我們就給大家來(lái)推薦這款python內(nèi)存分析神器。 Memray可以跟蹤python代碼、本機(jī)擴(kuò)展模塊和python解釋器本身中內(nèi)存分配,可以生成多種不同類(lèi)型的報(bào)告,幫助您分

    2024年02月15日
    瀏覽(21)
  • 簡(jiǎn)單使用AndroidStudio 官方Profiler工具進(jìn)行內(nèi)存泄漏檢查

    簡(jiǎn)單使用AndroidStudio 官方Profiler工具進(jìn)行內(nèi)存泄漏檢查

    Android studio(下面簡(jiǎn)稱(chēng)AS)為App提供的性能分析工具,在AS3.0+替換掉舊的分析工具,對(duì)于其使用方法,官方也有對(duì)應(yīng)的介紹:Android Profiler 對(duì)于使用方法,我只用到比較簡(jiǎn)單的功能,高級(jí)的還沒(méi)用到,使用案例進(jìn)行簡(jiǎn)答的使用,在此之前,你可能需要到官方文檔中了解Profiler中

    2023年04月08日
    瀏覽(23)
  • Android開(kāi)發(fā)之性能測(cè)試工具Profiler

    Android開(kāi)發(fā)之性能測(cè)試工具Profiler

    性能優(yōu)化問(wèn)題,在我們開(kāi)發(fā)時(shí)都會(huì)遇到,但是在小廠(chǎng)和對(duì)自己要求不嚴(yán)格的情況下,我都很少去做性能優(yōu)化; 在性能優(yōu)化上,基本大家都是通過(guò)自己的開(kāi)發(fā)經(jīng)驗(yàn)和性能分析工具來(lái)發(fā)現(xiàn)問(wèn)題,今天給大家分享一下小編最近使用的Profiler工具 幫助開(kāi)發(fā)者了解應(yīng)用的CPU,內(nèi)存,網(wǎng)絡(luò)

    2024年02月11日
    瀏覽(20)
  • React中的性能測(cè)試工具組件Profiler的基本使用

    React中的性能測(cè)試工具組件Profiler是一個(gè)非常有用的工具,它可以幫助我們分析React應(yīng)用程序的性能瓶頸。在本文中,我們將學(xué)習(xí)如何使用Profiler組件來(lái)測(cè)試React應(yīng)用程序的性能。 首先,讓我們來(lái)了解一下Profiler組件的基本用法。在React中,我們可以通過(guò)在組件樹(shù)上添加Profiler組

    2024年02月11日
    瀏覽(34)
  • jmap(Memory Map for Java)Java內(nèi)存映像工具

    jmap(Memory Map for Java)Java內(nèi)存映像工具

    jmap(Memory Map for Java)命令用于生成堆轉(zhuǎn)儲(chǔ)快照(一般稱(chēng)為 heapdump 或 dump文件 ) 如果不使用jmap命令,要想獲取Java堆轉(zhuǎn)儲(chǔ)快照也還有一些比較“暴力”的手段: 譬如 -XX:+HeapDumpOnOutOfMemoryError 參數(shù),可以讓虛擬機(jī)在內(nèi)存溢出異常出現(xiàn)之后自動(dòng)生成堆轉(zhuǎn)儲(chǔ)快照文件, 通過(guò) -XX:

    2024年02月12日
    瀏覽(21)
  • Eclipse內(nèi)存分析器 Java內(nèi)存分析工具M(jìn)AT(Memory Analyzer Tool)的介紹與使用

    Eclipse內(nèi)存分析器 Java內(nèi)存分析工具M(jìn)AT(Memory Analyzer Tool)的介紹與使用

    =============================================------------------------ 然后我將堆內(nèi)存文件轉(zhuǎn)儲(chǔ),就告訴我內(nèi)存泄漏,分析結(jié)果如下,請(qǐng)幫我前后理解關(guān)系。我需要向領(lǐng)導(dǎo)匯報(bào)。7 instances of “org.apache.catalina.loader.ParallelWebappClassLoader”, loaded by “java.net.URLClassLoader @ 0x4c0008ae8” occupy 17,693,472 (1

    2024年04月26日
    瀏覽(16)
  • 高效Python-2-1 剖析(Profiling 性能分析)

    高效Python-2-1 剖析(Profiling 性能分析)

    本章包括 剖析代碼以發(fā)現(xiàn)速度和內(nèi)存瓶頸 更有效地利用現(xiàn)有的Python數(shù)據(jù)結(jié)構(gòu) 了解Python分配典型數(shù)據(jù)結(jié)構(gòu)的內(nèi)存成本 使用懶編程技術(shù)處理大量數(shù)據(jù) 有很多工具和庫(kù)可以幫助我們編寫(xiě)更高效的Python。但是,在我們深入研究提高性能的所有外部選項(xiàng)之前,讓我們先仔細(xì)看看如何

    2024年02月14日
    瀏覽(17)
  • Py:代碼性能分析之使用python工具—如利用cProfile【輸出每個(gè)函數(shù)的運(yùn)行時(shí)間和調(diào)用次數(shù)】/line_profiler【輸出每行代碼的執(zhí)行時(shí)間】)同時(shí)對(duì)比斐波那契數(shù)列問(wèn)題的遞歸方法和動(dòng)態(tài)規(guī)劃

    Py:代碼性能分析之使用python工具—如利用cProfile【輸出每個(gè)函數(shù)的運(yùn)行時(shí)間和調(diào)用次數(shù)】/line_profiler【輸出每行代碼的執(zhí)行時(shí)間】)同時(shí)對(duì)比斐波那契數(shù)列問(wèn)題的遞歸方法和動(dòng)態(tài)規(guī)劃算法實(shí)現(xiàn) 目錄

    2024年02月04日
    瀏覽(30)
  • 項(xiàng)目性能優(yōu)化-內(nèi)存泄漏檢測(cè)與修改

    項(xiàng)目性能優(yōu)化-內(nèi)存泄漏檢測(cè)與修改

    最近終于有空優(yōu)化一波項(xiàng)目的性能了,第一波借助Android Studio自帶的Profiler工具檢測(cè)內(nèi)存泄漏。 右側(cè)帶有綠色原點(diǎn)的就是此時(shí)運(yùn)行的Profiler的SESSION,點(diǎn)擊右側(cè)MEMORY進(jìn)入內(nèi)存監(jiān)控的詳情模塊 第三步中抓取一段時(shí)間后,會(huì)自動(dòng)停止,并打開(kāi)Heap Dump文件 可以看到抓取到2個(gè)會(huì)導(dǎo)致內(nèi)存

    2024年02月11日
    瀏覽(30)
  • Linux性能優(yōu)化--性能工具:系統(tǒng)內(nèi)存

    Linux性能優(yōu)化--性能工具:系統(tǒng)內(nèi)存

    本章概述了系統(tǒng)級(jí)的Linux內(nèi)存性能工具。本章將討論這些工具可以測(cè)量的內(nèi)存統(tǒng)計(jì)信息,以及如何使用各種工具收集這些統(tǒng)計(jì)結(jié)果。閱讀本章后,你將能夠: 理解系統(tǒng)級(jí)性能的基本指標(biāo),包括內(nèi)存的使用情況。 明白哪些工具可以檢索這些系統(tǒng)級(jí)性能指標(biāo)。 每一種系統(tǒng)級(jí)Linu

    2024年02月07日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包