我经常编写如下所示的简单优化例程:
def createinstance(n):
while(True):
#create some instance called instance
yield instance
loopno = 100000
n= 100
min = 0
for i in xrange(loopno):
for inst in createinstance(n):
value = foo(inst)
if (value < min):
min = value
print min
我希望能够使用我机器上的所有内核来执行此操作。
一个非常简单的方法就是将范围分成几部分,然后将它们分流到核心并在最后收集结果。
更好的方法是让核心在空闲时请求一批实例。
什么是解决这个问题以在 python 中实现最大效率的好方法?也许这足以成为社区问题的标准?
这个问题似乎是使用 Python 多处理解决令人尴尬的并行问题的更简单版本。