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以真正的并行性运行脚本?