有没有一个简单的基于进程的python平行映射?

我正在寻找一个简单的基于进程的python并行映射,也就是一个函数

parmap(function,[data]) 

这将运行在不同的进程上的[数据]的每个元素上的函数(以及不同的核心,但AFAIK,在python中运行不同核心的唯一方法是启动多个解释器),并返回一个结果列表。

有这样的事情吗? 我想要简单的东西,所以一个简单的模块会很好。 当然,如果不存在这样的事情,我会去定一个大的图书馆: – /

我好像你需要的是multiprocessing.Pool()中的map方法 :

map(func,iterable [,chunksize])

 A parallel equivalent of the map() built-in function (it supports only one iterable argument though). It blocks till the result is ready. This method chops the iterable into a number of chunks which it submits to the process pool as separate tasks. The (approximate) size of these chunks can be specified by setting chunksize to a positive integ 

例如,如果你想映射这个函数:

 def f(x): return x**2 

范围(10),你可以使用内置的map()函数:

 map(f, range(10)) 

或使用multiprocessing.Poll()对象的方法map():

 import multiprocessing pool = multiprocessing.Pool() print pool.map(f, range(10))