在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

python 使用Dis模塊進行代碼性能剖析

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-03 15:39 ? 次閱讀

就像一個黑匣子,很多時候我們不知道python內部是怎樣執行代碼的,而且DEBUG的時候也沒有機器指令可以查看,非常不利于代碼優化。但是沒關系,現在我們有Dis模塊來對代碼進行性能剖析。

為什么下面第一個函數比第二個函數耗得內存更少?

圖片

圖片

如果你沒有厲害到那個程度是很難想出來的,但是我們使用Dis模塊卻能很容易找到答案:

圖片

結果:

圖片

Dis的結果其實很容易閱讀:

第一列:對應的源代碼行數。
第二列:對應的內存字節碼的索引位置。
第三列:內部機器代碼的操作。
第四列:指令參數
第五列:實際參數。

兩個函數的dis分析用*號隔開了,大家可以清晰地看到兩個函數之間的語句區別。 第二個函數的字節碼索引最大到了30,而第一個函數的字節碼索引最大僅到了22,因此,第一個函數耗得內存比第二個函數少

而且,在第一列和第二列之間的 >> 號表示跳轉的目標,大家可以看第二個函數第四列的 18,表示其跳轉到了索引為18的指令,也就是ROT_TWO。第二個函數的跳轉也比第一個函數多,這也可能導致其在某種特殊情況下的效率可能會比第一個函數低。

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

    關注

    7

    文章

    2707

    瀏覽量

    47474
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62618
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68612
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84689
收藏 人收藏

    評論

    相關推薦

    python有哪些方向?

    Python學習的另一方向,網絡編程在生活和開發中無處不在,哪里有通訊就有網絡,它可以稱為是一切開發的“基石”。對于所有編程開發人員必須要知其然并知其所以然,所以網絡部分將從協議、封包、解包等底層進行深入剖析
    發表于 03-09 15:47

    探究python字節碼

    玩這個,Python標準庫中的dis模塊就非常有用了; dis模塊Python字節碼提供了一個
    發表于 05-22 15:48

    PIC16LF1939的代碼性能分析

    家族不起作用。你能建議使用哪種代碼剖析工具嗎?我想分析代碼性能,函數執行時間等。讓我知道是否有任何其他有效的方法進行
    發表于 03-10 10:26

    三種提高Python代碼性能的簡便方法

      在互聯網編程語言盛行的今天,Python是比較流行的編程語言之一。但很多程序員對于Python代碼性能的方法并不了解。今天這里主要為大家介紹三種提高
    發表于 08-03 18:37

    python代碼示例之基于Python的日歷api調用代碼實例

    本文檔的主要內容詳細介紹的是python代碼示例之基于Python的日歷api調用代碼實例。
    發表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b><b class='flag-5'>代碼</b>示例之基于<b class='flag-5'>Python</b>的日歷api調用<b class='flag-5'>代碼</b>實例

    Python代碼性能分析的命令合集

    當我們開始精通編程語言時,我們不僅希望實現最終的編程目標,而且還希望可以使我們的程序更高效。在本文中,我們將學習一些 Ipython 的命令,這些命令可以幫助我們對 Python 代碼進行時間分析
    發表于 11-25 10:43 ?10次下載

    Python 代碼加速運行的的小技巧

    的技巧進行整理。 0. 代碼優化原則本文會介紹不少的 Python 代碼加速運行的技巧。在深入代碼優化細節之前,需要了解一些
    的頭像 發表于 09-01 11:28 ?1715次閱讀

    python包、模塊和庫是什么

    1. 模塊 以 .py 為后綴的文件,我們稱之為 模塊,英文名 Module。 模塊讓你能夠有邏輯地組織你的 Python 代碼段,把相關的
    的頭像 發表于 03-09 16:47 ?2326次閱讀

    python中間模塊重載介紹

    python通過reload重載模塊動態更新最新代碼。 ## 1.1 reload
    的頭像 發表于 02-21 11:16 ?548次閱讀

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發表于 06-06 17:50 ?0次下載

    怎么用模塊來觀察代碼性能表現

    的時間與當前時間的距離,顏色越淺代表離當前時間越近。 下面就來教大家怎么用這個模塊來觀察你的代碼性能表現。 1.準備 開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒
    的頭像 發表于 10-21 10:53 ?353次閱讀
    怎么用<b class='flag-5'>模塊</b>來觀察<b class='flag-5'>代碼</b><b class='flag-5'>性能</b>表現

    Dis模塊的使用

    Python字節碼指令,而這些字節碼是一種類似于匯編指令的中間語言,但是每個字節碼對應的不是機器指令,而是一段C代碼。 而Dis模塊,就是用于查看這些字節碼的運行軌跡,因此我們可以用
    的頭像 發表于 11-02 15:27 ?605次閱讀
    <b class='flag-5'>Dis</b><b class='flag-5'>模塊</b>的使用

    python怎樣運行代碼

    Python是一種廣泛使用的編程語言,用于開發各種類型的應用程序。它具有簡單易學的語法和強大的功能,可以用于編寫簡單的腳本、開發桌面應用、構建Web應用、進行科學計算等多種用途。在本文中,我們將詳細
    的頭像 發表于 11-22 10:31 ?1307次閱讀

    python如何導入模塊

    Python是一種強大的編程語言,它支持模塊化編程,使得開發者可以將代碼分解為可重用且獨立的模塊模塊是一個包含函數、類和變量等定義的文件,
    的頭像 發表于 11-22 14:46 ?958次閱讀

    python軟件怎么運行代碼

    Python是一種高級編程語言,它被廣泛用于開發各種類型的應用程序,從簡單的腳本到復雜的網絡應用和機器學習模型。要運行Python代碼,您需要一個Python解釋器,它可以將您的
    的頭像 發表于 11-28 16:02 ?902次閱讀
    主站蜘蛛池模板: 久久涩精品| 成熟妇女毛耸耸性视频| 免费视频黄| 色多多在线| 三级国产| 97就要鲁就要鲁夜夜爽| 神马午夜嘿嘿| 特大一级aaaaa毛片| 色多多www| 午夜小片| 亚洲aaa视频| 欧美a一级| av2021天堂网手机版| 羞羞色院91精品网站| 日本不卡视频在线| 欧美三级在线观看黄| 国产秦先生大战白丝97在线| 久久久久国产精品免费免费| 2021成人国产精品| 狠狠鲁狠狠操| 不卡午夜| 四虎国产精品永久地址49| 亚洲欧美色中文字幕| 天天摸日日舔| 欧美freesex10一|3| 97人人看| 色综合亚洲天天综合网站| 色婷婷激情五月| 免费国产网站| 国产午夜在线观看视频播放| 亚洲第一色在线| 青青青草国产| video另类蛇交| 一区二区中文字幕在线观看| 亚洲毛片大全| 94在线| 亚洲a网站| 韩国三级在线视频| 黄 在线| 毛片日韩| 欧美xx网站|