python中如何加快稀疏矩阵的计算

python中如何加快稀疏矩阵的计算,python,scipy,Python,Scipy,最近,我遇到了在python中加速稀疏矩阵计算的问题。现在,W的维数是[17000,2],b的维数是[1,2]。当其他人使用web服务时,我将计算xW+b,其中x的维数为[11700]。但让我困惑的是,当我使用ab命令进行压力测试时,如果并发度低于每秒100,那么它可以以0.002毫秒的速度运行,但是如果并发度超过该限制,成本时间将飞涨到4毫秒,我想知道在这个过程中会发生什么 另外,所有相关矩阵都是稀疏矩阵稀疏矩阵乘法,x*W混合使用Python和编译(cython)代码。我不知道为什么它比普通

最近,我遇到了在python中加速稀疏矩阵计算的问题。现在,W的维数是[17000,2],b的维数是[1,2]。当其他人使用web服务时,我将计算xW+b,其中x的维数为[11700]。但让我困惑的是,当我使用ab命令进行压力测试时,如果并发度低于每秒100,那么它可以以0.002毫秒的速度运行,但是如果并发度超过该限制,成本时间将飞涨到4毫秒,我想知道在这个过程中会发生什么


另外,所有相关矩阵都是稀疏矩阵

稀疏矩阵乘法,
x*W
混合使用Python和编译(cython)代码。我不知道为什么它比普通的
numpy
(密集)数组操作更容易出现这样的问题。我最终使用了scipy.sparse.csr_matrix.dot来计算,而不是直接使用x*W,我担心它会在过程中执行类似于todense()或toarray()的操作。我还使用了其他压力测试软件(Jmeter),问题消失了。