如果我有一系列的CPU密集型操作,我的程序多线程必然会减少它的运行时间?这样做的权衡是什么?在这种情况下,我试图计算一个非常大的矩阵的零空间。我使用Python和,具体而言,numpy的包:多线程是否会降低运行时间?
def nullspace(A, eps=1e-15):
"""Computes the null space of the real matrix A."""
n, m = shape(A)
if n > m :
return nullspace(transpose(A), eps)
_, s, vh = linalg.svd(A)
s = append(s, zeros(m))[0:m]
null_mask = (s <= eps)
null_space = compress(null_mask, vh, axis=0)
return null_space.tolist()
另外,我很想知道刚才怎么一个会去多线程这样的功能。提前致谢。
你见过http://www.scipy.org/ParallelProgramming吗? – katrielalex
@katrielalex不,我没有,谢谢你的链接。 – arshajii