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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析python導(dǎo)入包引發(fā)的debug緩慢問題

Geant4模擬學(xué)習(xí)交流 ? 來源:蒙卡模擬與編程技術(shù)雜談 ? 2024-05-01 09:37 ? 次閱讀

先上代碼

fromopenpyxlimportload_workbook
importnumpyasnp
importpandasaspd
importxlwingsasxw
importcsv
importjieba
importpangu
importre

print('hello')

這個(gè)樣例,在print行加一個(gè)斷點(diǎn),即可測試出緩慢效果

Linux下的虛擬環(huán)境啟用

開始用win來測試效果,發(fā)現(xiàn)很慢,難道和系統(tǒng)有關(guān)系嗎,于是進(jìn)行l(wèi)inux下的python代碼debug嘗試。

manjaro或者archlinux用pip安裝報(bào)錯(cuò),比如

0b57740e-ffad-11ee-a297-92fbcf53809c.png

處理這個(gè)情況的設(shè)置好vscode,做好如下勾選

0b7310ba-ffad-11ee-a297-92fbcf53809c.png

這樣debug的時(shí)候就可以有效加載虛擬環(huán)境。

使用cprofile進(jìn)行性能跟蹤

importcProfile
importpstats
#importsome_module

defimport_module():
#fromopenpyxlimportload_workbook
importjieba

defprofile_import():
#創(chuàng)建一個(gè)性能分析器對(duì)象
profile=cProfile.Profile()
profile.enable()

#運(yùn)行要分析的函數(shù)
import_module()

#停止性能分析
profile.disable()

#生成一個(gè)性能報(bào)告
stats=pstats.Stats(profile)
#stats.sort_stats("cumulative").print_stats(10)#打印前10行統(tǒng)計(jì)信息
stats.sort_stats("cumulative").print_stats()#打印前10行統(tǒng)計(jì)信息

if__name__=="__main__":
profile_import()

發(fā)現(xiàn)

0b8123b2-ffad-11ee-a297-92fbcf53809c.png

/home/qiangge/.conda/envs/py031105/lib/python3.12/site-packages/jieba/finalseg/prob_emit.py

這里的文件共35000多行,因?yàn)檫@個(gè)嗎?懷疑是多線程問題導(dǎo)致。

非debug模式下,也就是runcode模式下,并不會(huì)出現(xiàn)這個(gè)prob_emit.py的加載。這里估計(jì)是多線程在debug下會(huì)有阻塞問題。

小結(jié)

并沒有徹底找出根因,但是很顯然,有如下結(jié)論

導(dǎo)入包,對(duì)于運(yùn)行沒有性能問題

導(dǎo)入包,對(duì)于不同的包,性能影響很顯著

可能是多線程引發(fā)了debug性能問題。


審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11346

    瀏覽量

    210421
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85043
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    157

    瀏覽量

    7859

原文標(biāo)題:python導(dǎo)入包引發(fā)的debug緩慢問題探究

文章出處:【微信號(hào):gh_361ab7628207,微信公眾號(hào):Geant4模擬學(xué)習(xí)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    導(dǎo)入Python庫失敗的缺失庫怎么解決

    在寫 Python 項(xiàng)目的時(shí)候,我們可能經(jīng)常會(huì)遇到導(dǎo)入模塊失敗的錯(cuò)誤:ImportError: No module named xxx或者M(jìn)oduleNotFoundError: No module
    發(fā)表于 11-21 11:46 ?2969次閱讀
    <b class='flag-5'>導(dǎo)入</b><b class='flag-5'>Python</b>庫失敗的缺失庫怎么解決

    什么是python、模塊和庫?

    名為 demo.py 的文件,文件內(nèi)容如下name="Python編程時(shí)光"print("導(dǎo)入成功")直接使用 import 語句就可以導(dǎo)入導(dǎo)入之后,就可以
    發(fā)表于 03-09 16:48

    python常規(guī)與命名空間

    python常規(guī)與命名空間1. 常規(guī)包在 Python 3.3 之前或者說 Python 2 中,一個(gè)
    發(fā)表于 03-11 15:46

    python 導(dǎo)入的三個(gè)冷門知識(shí)點(diǎn)

    中使用 __all__ 來控制想要被其他模塊導(dǎo)入的變量。# profile.pyname='小明'age=18__all__=['name']打開 python console 驗(yàn)證一下>>
    發(fā)表于 03-14 16:33

    Python imports指南:Python導(dǎo)入有更好的理解

    而且因?yàn)?b class='flag-5'>Python很棒,我們可以在__init__模塊中做很多事情,甚至是很奇怪的事情。假設(shè)我們不喜歡顯式導(dǎo)入,并且希望將所有模塊符號(hào)上升到級(jí)別,這樣我們就不必記住實(shí)際的模塊名稱。
    的頭像 發(fā)表于 05-01 17:48 ?3165次閱讀

    python、模塊和庫是什么

    有一個(gè)名為 demo.py 的文件,文件內(nèi)容如下 name="Python編程時(shí)光"print("導(dǎo)入成功") 直接使用 import 語句就可以導(dǎo)入導(dǎo)入之后,就可以使用 模塊名.變
    的頭像 發(fā)表于 03-09 16:47 ?2363次閱讀

    詳解python常規(guī)與命名空間

    python常規(guī)與命名空間 1. 常規(guī)Python 3.3 之前或者說 Python
    的頭像 發(fā)表于 03-11 15:46 ?3468次閱讀

    Python腳本集成到GUI工具

    本篇將此腳本進(jìn)行優(yōu)化,將集成到 Python 的 GUI 工具(Tkinter),并且可以將結(jié)果數(shù)據(jù)導(dǎo)入到 Excel 和 TXT 文件里。
    的頭像 發(fā)表于 02-15 16:40 ?1201次閱讀

    python模塊相對(duì)導(dǎo)入from和import介紹1

    文件**init**.py下,python通過import module導(dǎo)入模塊時(shí),先搜索程序運(yùn)行主目錄。 程序運(yùn)行主目錄為運(yùn)行的py文件所在目錄,而不是執(zhí)行python.e
    的頭像 發(fā)表于 02-21 14:15 ?1069次閱讀

    python模塊相對(duì)導(dǎo)入from和import介紹2

    python2.7先搜索當(dāng)前目錄,再搜索sys.path模塊搜索路徑。即先相對(duì)再絕對(duì)。 本示例在交互模式執(zhí)行,非文件模式執(zhí)行。
    的頭像 發(fā)表于 02-21 14:17 ?742次閱讀

    簡述python模塊import和from及all

    python指定導(dǎo)入目錄路徑,稱為導(dǎo)入。 通過import和from導(dǎo)入模塊。
    的頭像 發(fā)表于 02-21 14:20 ?1288次閱讀

    Python導(dǎo)入操作和本質(zhì)

    導(dǎo)入操作和本質(zhì) 常見方式如下: import a.aa.module_AA : 按模塊路徑導(dǎo)入 在使用時(shí),必須加完整名稱來引用. 比如: a.aa.module_AA.fun_AA() from
    的頭像 發(fā)表于 09-12 17:41 ?936次閱讀

    python如何導(dǎo)入模塊

    Python是一種強(qiáng)大的編程語言,它支持模塊化編程,使得開發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊。模塊是一個(gè)包含函數(shù)、類和變量等定義的文件,我們可以使用import語句將這些模塊導(dǎo)入到我們的程序中
    的頭像 發(fā)表于 11-22 14:46 ?1000次閱讀

    Python怎么導(dǎo)入math模板

    Python中使用math模塊需要先導(dǎo)入該模塊。math模塊提供了許多數(shù)學(xué)函數(shù)和數(shù)值常量,可以在數(shù)學(xué)計(jì)算和統(tǒng)計(jì)分析等方面派上用場。下面將詳細(xì)介紹如何導(dǎo)入math模塊以及如何使用它的各種功能。 要使
    的頭像 發(fā)表于 11-22 14:49 ?2517次閱讀

    如何用import導(dǎo)入一個(gè)

    Python中,import語句用于導(dǎo)入代碼所需的模塊或。模塊是Python代碼的集合,而是包含模塊和其他
    的頭像 發(fā)表于 11-22 14:59 ?1241次閱讀
    主站蜘蛛池模板: 免费观看一级成人毛片 | 欧美日韩亚洲国产 | 我爱操 | 午夜 在线播放 | 日本在线亚洲 | 久久国产免费福利永久 | 一级特黄aaa大片在线观看视频 | 中国高清色视频www 中国高清性色生活片 | 午夜影院免费在线观看 | 国产你懂的在线观看 | 三级国产| 天天艹夜夜艹 | sss在线play| 性过程很黄的小说男男 | 免费人成在线观看网站 | 五月.com | 欧美成人一区二区三区在线电影 | 91黄色视屏 | 九九九精品视频免费 | 免费被视频网站在线观看 | 国产精品15p | 色多多在线免费观看 | 亚洲第一区第二区 | 久久aa毛片免费播放嗯啊 | 狠狠操狠狠 | 看逼网址 | 久久久免费网站 | 天堂bt资源在线官网 | 亚洲区免费 | 国产色爽免费视频 | 7m视频精品凹凸在线播放 | 男人的天堂免费网站 | 亚洲精品黄色 | 国产乱理论片在线观看理论 | 五月欧美激激激综合网色播 | 久操天堂| 全亚洲最大的777io影院 | 美国bj69video18| 免费看va | 欧美日剧在线免费 | 天堂网址|