为什么 deap 多处理方法不快?

问题描述

我正在使用 DEAP 框架来运行遗传算法,并且我正在尝试使用来自 deap 的多处理模块来加速它:

import multiprocessing

pool = multiprocessing.Pool()
toolBox.register("map",pool.map)

我尝试在 Linux 和 Windows 下从 PyCharm 和 cmd/终端运行它,结果相似。该算法总是比没有多处理的情况多花几秒钟。

有没有人遇到过同样的问题,如果有,他们能解决吗?

非常感谢

解决方法

我不知道你的具体情况。但是,如果您构建一个执行单个顺序工作的算法,那么使用多处理可能比常规任务慢。因为分配资源需要时间。也许这就是你的情况。