我有一个我正在分发的Python包,我需要在其中包含一个函数,它执行一些繁重的计算,我无法在Numpy中找到编程为Scipy(即,我需要包含一个函数来计算一个variogram有两个变量,也称为cross-variogram)。
由于必须针对超过20000个元素的数组计算这些,我需要优化代码。我已经使用Numba成功优化了代码(非常容易),我也尝试使用Cython进行优化。根据我的阅读,两者的最终运行时间差别不大,只是步骤发生变化。
问题是:在我的计算机上优化此代码相对容易,但我不知道如何在我的github包中为其他用户包含代码及其优化(编译)版本。
我想我将只需要放置python / cython源代码并调整setup.py
,以便为每个安装软件包的用户重新编译。如果是这样的话,我不确定我是否应该使用Numba或Cython,因为Numba似乎更容易使用(至少从经验来看)但是安装很麻烦(我不想强迫我的用户)安装anaconda!)。
总结一下,有两个问题:
.so
吗?