给大家分享一个常用的并行库:https://github.com/alex-sherman/deco
它的优点是通过几个简单的装饰器,将循环并行化,利用multiprocessing加速计算。
利用它进行气象数据处理的例子为:
@concurrent # We add this for the concurrent function
def process_lat_lon(lat, lon, data):
#Does some work which takes a while
return result
@synchronized # And we add this for the function which calls the concurrent function
def process_data_set(data):
results = defaultdict(dict)
for lat in range(…):
for lon in range(…):
results[lat][lon] = process_lat_lon(lat, lon, data)
return results