处理multiprocessing解决棘手的并行问题时,遵循以下策略:
- 把工作拆分成独立单元;
- 如果每项工作所花的时间是可变的,那就考虑随机化工作的序列;
- 对工作队列进行排序,首先处理最慢的任务可能是一个最有用的策略(平均而言);
- 对于细小琐碎的任务,考虑将他们合并分块(chunk),这样能有效减小fork/join通信开销;
- 让任务数量与物理CPU数量保持一致;
部分摘自 <High Performance Python> (by Micha Gorelick, Ian Ozsvald)
处理multiprocessing解决棘手的并行问题时,遵循以下策略:
部分摘自 <High Performance Python> (by Micha Gorelick, Ian Ozsvald)
来自
标签:
发表回复