国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python性能分析的技巧說明

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當我們開始精通編程語言時,我們不僅希望實現最終的編程目標,而且還希望可以使我們的程序更高效。在本文中,我們將學習一些Ipython的命令,這些命令可以幫助我們對Python代碼進行時間分析。注意,在本教程中,我建議使用Anaconda。1.分析一行代碼要檢查一行python代碼的執行時間,請使用**%timeit**。下面是一個簡單的例子來了解它的工作原理:#### magics命令%timeit的簡單用法%timeit [num for num in range(20)]

#### 輸出1.08 ?s ± 43 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)主要注意事項:在要分析的代碼行之前使用%timeit它返回代碼運行的平均值和標準偏差。在上面的示例中,執行了7次,每次執行對該代碼循環100萬次(默認行為),這需要平均1.08微秒和43納秒的標準偏差。在調用magic命令時,可以自定義運行和循環的數量,示例如下:#### 在%timeit magic命令中自定義運行和循環數%timeit -r5 -n100 [num for num in range(20)]
1.01 ?s ± 5.75 ns per loop (mean ± std. dev. of 5 runs, 100 loops each)使用命令選項-r和-n,分別表示執行次數和循環次數,我們將時間配置文件操作定制為執行5次和循環100次。2.分析多行代碼本節向前邁進了一步,并解釋了如何分析完整的代碼塊。通過對%timeit magic命令進行一個小的修改,將單百分比(%)替換為雙百分比(%%),就可以分析一個完整的代碼塊。以下為示例演示,供參考:#### 使用timeblock%%代碼分析%%timeit -r5 -n1000for i in range(10): n = i**2 m = i**3 o = abs(i)
#### 輸出10.5 ?s ± 226 ns per loop (mean ± std. dev. of 5 runs, 1000 loops each)可以觀察到for循環的平均執行時間為10.5微秒。請注意,命令選項-r和-n分別用于控制執行次數和循環次數。3.代碼塊中的每一行代碼進行時間分析到目前為止,我們只在分析一行代碼或代碼塊時查看摘要統計信息,如果我們想評估代碼塊中每一行代碼的性能呢?使用Line_profiler 。Line_profiler 包可用于對任何函數執行逐行分析。要使用line_profiler軟件包,請執行以下步驟:安裝—Line_profiler 包可以通過簡單的調用pip或conda Install來安裝。如果使用的是針對Python的anaconda發行版,建議使用conda安裝#### 安裝line_profiler軟件包conda install line_profiler加載擴展—一旦安裝,你可以使用IPython來加載line_profiler:#### 加載line_profiler的Ipython擴展%load_ext line_profiler時間分析函數—加載后,使用以下語法對任何預定義函數進行時間分析%lprun -f function_name_only function_call_with_arguments語法細節:對line_profiler的調用以關鍵字%lprun開始,后跟命令選項-f命令選項之后是函數名,然后是函數調用在本練習中,我們將定義一個接受高度(以米為單位)和重量(以磅為單位)列表的函數,并將其分別轉換為厘米和千克。#### 定義函數def conversion(ht_mtrs, wt_lbs ): ht_cms = [ht*100 for ht in ht_mtrs] wt_kgs = [wt*.4535 for wt in wt_lbs]
#### 定義高度和重量列表:ht = [5,5,4,7,6]wt = [108, 120, 110, 98]
#### 使用line_profiler分析函數%lprun -f conversion conversion(ht,wt)
---------------------------------------------------------------#### 輸出Total time: 1.46e-05 s
File: <ipython-input-13-41e195af43a9>
Function: conversion at line 2
Line # Hits Time Per Hit % Time Line Contents============================================================== 2 1 105.0 105.0 71.9 ht_cms = [ht*100 for ht in ht_mtrs] 3 1 41.0 41.0 28.1 wt_kgs = [wt*.4535 for wt in wt_lbs]輸出詳細信息:以14.6微秒為單位(參考第一行輸出)生成的表有6列:第1列(行#)—代碼的行號(請注意,第#1行是故意從輸出中省略的,因為它只是函數定義語句)第2列(命中)—調用該行的次數第3列(時間)—在代碼行上花費的時間單位數(每個時間單位為14.6微秒)第4列(每次命中平均時間)—第3列除以第2列第5列(%Time)—在所花費的總時間中,花在特定代碼行上的時間百分比是多少第6列(內容)—代碼行的內容你可以清楚地看到,高度從米到厘米的轉換幾乎占了總時間的72%。結束語利用每一行代碼的執行時間,我們可以部署策略來提高代碼的效率。

希望這篇文章能給你提供幫助,你能學到一些新東西。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 可編程邏輯
    +關注

    關注

    7

    文章

    526

    瀏覽量

    45409
  • 性能分析
    +關注

    關注

    0

    文章

    12

    瀏覽量

    8266
  • python
    +關注

    關注

    57

    文章

    4877

    瀏覽量

    90071
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    沒有專利的opencv-python 版本

    所有 官方發布的 opencv-python 核心版本(無 contrib 擴展)都無專利風險——專利問題僅存在于 opencv-contrib-python 擴展模塊中的少數算法(如早期 SIFT
    發表于 12-13 12:37

    Termux中調試圣誕樹Python代碼

    python --version 如果輸出Python 3.x.x(比如3.11.4),說明安裝成功。 二、代碼編寫(兩種方式可選) 方式1:用Termux自帶編輯器(nano)(新手推薦) 創建并編輯
    發表于 12-09 09:02

    一文了解Mojo編程語言

    ,利用硬件加速提升效率。 科學計算與數據處理 高效處理大規模數值分析、基因組學數據等任務。 系統工具開發 開發操作系統級工具,結合 Python 的便捷性和 C 的性能優勢。 嵌入式與實時應用 適用于
    發表于 11-07 05:59

    termux調試python猜數字游戲

    用termux做一個猜數字游戲 下面是在Termux中創建猜數字游戲的步驟及完整實現方案,結合Python實現(最適配Termux環境): ? 一、環境準備(Termux基礎配置) 1.
    發表于 08-29 17:15

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開發環境的完整指南 一、Termux基礎環境準備 Termux是一款無需root即可在安卓設備上運行的Linux終端
    發表于 08-29 07:06

    python app不能運行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發表于 08-06 06:27

    C++ 與 Python:樹莓派上哪種語言更優?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發表于 07-24 15:32 ?955次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種語言更優?

    如何評估協議分析儀的性能指標?

    評估協議分析儀的性能指標需從硬件處理能力、協議解析精度、實時響應效率、擴展性與兼容性、用戶體驗五大維度綜合考量。以下是具體指標及評估方法,結合實際場景說明其重要性:一、硬件處理能力:決定基礎
    發表于 07-18 14:44

    目前Mirco Python sdk觸摸到底支持什么驅動啊 ?

    目前的Mirco Python sdk觸摸到底支持什么驅動啊 能不能有資料詳細說明 GT911 觸摸驅動是否支持啊
    發表于 06-24 07:02

    同步電機步進運動性能分析

    對同步電動機采用步進控制,模擬仿真該動態下電機各種參數對性能的影響,同時提出如何選取初值和確定合適的參數。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:同步電機步進運動性能分析.pdf【免責
    發表于 06-20 17:38

    混合勵磁永磁發電機的設計與性能分析

    純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:混合勵磁永磁發電機的設計與性能分析.pdf【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-29 14:10

    性能飆升!使用Python并行計算榨干樹莓派算力!

    甚至微型服務器時,你是否也遇到過程序卡頓、視頻處理延遲的尷尬?今天我們就手把手教你用Python并行處理技術,讓樹莓派的性能瞬間翻倍!歡迎在評論區曬出你的優化方案,
    的頭像 發表于 03-26 17:08 ?934次閱讀
    讓<b class='flag-5'>性能</b>飆升!使用<b class='flag-5'>Python</b>并行計算榨干樹莓派算力!

    永磁體磁角度偏差對電機性能影響的分析

    、諧波、齒槽轉矩的影響進行分析,對高精度、高功率密度電機的研究開發以及生產過程中保持產品質量的一致性有一定積極意義。 點擊附件查看全文*附件:永磁體磁角度偏差對電機性能影響的分析.pdf
    發表于 03-25 15:37

    ?如何在虛擬環境中使用 Python,提升你的開發體驗~

    RaspberryPiOS預裝了Python,你需要使用其虛擬環境來安裝包。今天出版的最新一期《TheMagPi》雜志刊登了我們文檔負責人NateContino撰寫的一篇實用教程,幫助你入門
    的頭像 發表于 03-25 09:34 ?816次閱讀
    ?如何在虛擬環境中使用 <b class='flag-5'>Python</b>,提升你的開發體驗~

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Python程序。什么是Python程序?
    的頭像 發表于 03-25 09:27 ?2054次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?