繁体   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