簡體   English   中英

Python:`dist`和`sdist`之間有性能差異嗎?

[英]Python: Is there a performance difference between `dist` and `sdist`?

Python setuptools可以創建源代碼分發:

python setup.py sdist # create a source distribution (tarball, zip file, etc.)

或二進制分發:

python setup.py bdist   # create a built (binary) distribution

據我了解,不應有任何性能差異:

  • bdist從二進制包安裝已編譯的.pyc文件。
  • sdist.py文件編譯為.pyc文件,然后安裝它們。

執行時,編譯.pyc文件的方式無關緊要 - 它們應具有相同的性能。

distsdist python包之間有任何性能差異嗎?

如果您有純Python代碼,那么部署時間的差異將很小。 請注意, .py.pyc之間的性能沒有差別,除了后者第一次讀取稍快一些。 所謂的優化 .pyo只剝離斷言,並且可選地去除文檔字符串,因此它們沒有得到很好的優化。

當你有C文件時,差別很大。 如果正確引用, sdist將包含它們,但是用戶將需要一個有效的編譯器,Python頭文件等等。 此外,您將不得不花時間在每個客戶端上構建它們。 相同的分發對您部署的任何平台都有效。

另一方面, bdist編譯一次代碼。 在客戶端安裝是立竿見影的,因為它們不需要構建任何東西,並且因為它們不需要安裝編譯器而更容易。 缺點是你必須為該平台構建。 只要您安裝並配置了正確的工具,Setuptools就能夠進行交叉編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM