1
我按照這個nice tutorial顯示瞭如何將多個映射實例作爲進程運行。但是,在Python 3.4.3/Windows 7 x64上,隨時可以使用單個內核。在單核上運行的python 3.x/Windows 7上的多進程map-reduce
from multiprocessing import Pool
from itertools import repeat
import random
import time
def Map(L):
return len(L)
def Main():
pool = Pool()
lst = [random.sample(range(1, 100), random.randint(1, 50)) for i in repeat(None, 1000000)]
start_time = time.time()
counts = pool.map(Map, lst)
print(time.time() - start_time)
if __name__ == '__main__':
Main()
在Linux(vmware ubuntu guest機器)中,相同的腳本顯示100%繁忙的處理器。
是否有任何技巧強制Windows以真正的並行性運行腳本?