如果我有一系列的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