我有两个Python环境(3.6)。
我通过 conda 在一个环境中安装软件包,通过 pip 在另一个环境中安装软件包。
然后我发现 conda 提供的 numpy 和 pandas 比 pip 版本运行得更快(对于大多数场景)。
只是想知道为什么会发生这种情况。这是因为他们在编译过程中使用了不同的配置吗?
是的,这种差异很可能是由于不同的编译配置造成的。 Numpy 使用低级 fortran 库BLAS https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms and LAPACK https://en.wikipedia.org/wiki/LAPACK。从 pip 获得的 numpy 是使用与从 conda 获得的 numpy 不同的 BLAS 和 LAPACK 实现进行编译的。后者使用的是MKL https://en.wikipedia.org/wiki/Math_Kernel_Library专门针对英特尔处理器进行优化的实现。
您可以通过以下方式检查 numpy 在特定环境中使用的实现:
import numpy as np
np.show_config()
可以找到一些比较基准here http://markus-beuckelmann.de/blog/boosting-numpy-blas.html(正如已经指出的crisb).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)