2
此代碼顯示了我正在嘗試執行的操作的結構。創建對象的副本,而不是在新的多處理進程中重新初始化
import multiprocessing
from foo import really_expensive_to_compute_object
## Create a really complicated object that is *hard* to initialise.
T = really_expensive_to_compute_object(10)
def f(x):
return T.cheap_calculation(x)
P = multiprocessing.Pool(processes=64)
results = P.map(f, range(1000000))
print results
的問題是,每一個過程花費了大量的時間重新計算t鍵的使用被計算一次的原創T開始。有沒有辦法來防止這種情況? T有一個快速(深)的複製方法,所以我可以讓Python使用它來代替重新計算?