4
我正在嘗試使用python獲取某些性能,這些任務可以使用http://docs.python.org/library/multiprocessing高度並行化。如何爲大型數據集中的python多處理選擇塊大小
當看着他們的庫時,他們說使用塊大小來處理很長的迭代。現在,我的迭代並不長,其中包含的一個字節是巨大的:〜100000條目,其中元組作爲鍵和數組的numpy值。
我該如何設置chunksize來處理這個問題,以及如何快速傳輸這些數據?
謝謝。
阿好吧有道理。目前,工作人員每個人都抓住巨大的字典,製作一份副本,修改它,然後發回他們的版本。 (不完全重量輕)。因爲你認爲那個知道他的python多重處理的人:如果巨人在哪裏只能讀取,是否有辦法讓所有工作人員有效地訪問其數據? (這對於線程來說很容易,但是對於多處理,看起來好像很難處理) – Sandro 2010-04-24 21:59:53
如果你不在Windows上,並且在產生工作人員之前將這個「只讀」字典作爲進程的一部分,將其存儲在(例如)全球或封閉的本地,所有工作人員都可以訪問它,而不會受到序列化成本的影響。 – 2010-04-24 22:26:30
呃哦,我現在才意識到我使用了錯誤的術語。我實際上使用Pool.map_async()函數來完成所有這些。我是否有權假定,通過使用映射,沒有解決方案,只能通過分叉。重新加入一起會產生嚴重的成本嗎? – Sandro 2010-04-24 23:27:26