在使用python中,import是非常非常常用的。
那它效能怎麼樣呢?今天就想測測python的import效能。
首先,我這種測試,肯定不怎麼準,充其量只能提供個參照,大家看看,就圖乙個樂呵吧。
● linux下,用time.time()進行的測試
因為賦值操作是語言的最基礎操作,所以以賦值操作作為基準,做對比。
▲首先,確定賦值操作(a=1)的時間消耗:
3.09944152832e-06 (0.000003 s)
▲然後,我們來做一下import的測試:
1,如果匯入某個自定義模組的py檔案:
0.00202393531799 (平均0.002s)
▲匯入匯入某個自定義模組的pyc檔案:
0.000988006591797 (匯入pyc,速度快了一倍。平均0.001s )
▲把自定義模組放在python的安裝目錄下:
0.000210046768188 (提高了乙個數量級!我沒看錯吧!)
▲匯入系統自帶的os模組os.pyc:
5.96046447754e-06 (為什麼匯入os模組,速度如此驚人呢?!)
▲匯入系統自帶的socket模組socket.pyc
0.00739884376526 (匯入socket模組pyc)
▲匯入第三方模組:
0.0939381122589 (這個速度,也算可以接受)
▲匯入第三方模組:
twisted.internet.protocol.protocol
0.144118070602 (匯入twisted這個第三方模組很耗效能啊……)
———————————————————————————————
● windows下,用time.clock()進行的測試
▲首先,確定賦值操作的時間消耗:
1.56498194252e-006
▲匯入系統自帶的os模組os.pyc:
5.10494109683e-006 (可以看出與linux的速度幾乎相同)
▲匯入匯入某個自定義模組的pyc檔案:
0.0225309700273 (似乎比linux慢一些……)
總結:個人估計,python的匯入,就是動態讀檔案的過程。檔案大,讀的就慢。如果不把匯入模組設計好,似乎會形成效能上的瓶頸。
除非是研究python底層的實現,才能搞懂匯入是怎麼回事,才能理解和突破速度瓶頸。
Python包 模組和包匯入詳解(import)
1.模組 module 1.1 模組定義 通常模組為乙個.py檔案,其他可作為module的檔案型別還有 pyo pyc pyd so dll module 可看作乙個工具類,可共用或者隱藏 細節,將相關 放置在乙個module以便讓 更好用 易懂,讓coder重點放在高層邏輯上。module能定義...
Python學習之路 模組詳解及import本質上
1.定義 模組 用來從邏輯上組織python 變數,函式,類,邏輯 實現乙個功能 本質就是.py結尾的python檔案。檔名 test.py,對應的模組名 test 包 用來從邏輯上組織模組的,本質是乙個資料夾或者目錄 必須帶乙個 init py檔案 2.匯入方法 import module nam...
Python匯入效能 import載入測試
在使用python中,import是非常非常常用的。那它效能怎麼樣呢?今天就想測測python的import效能。首先,我這種測試,肯定不怎麼準,充其量只能提供個參照,大家看看,就圖乙個樂呵吧。linux下,用time.time 進行的測試 因為賦值操作是語言的最基礎操作,所以以賦值操作作為基準,做...