如何更改multiprocessing.mangers.BaseManager子类用于cPickle的序列化程序?

pog*_*bus 6 python serializer pickle multiprocessing

使用Python 2.7,

我使用从multiprocessing.managers派生的管理器跨进程传递许多大对象.BaseManager我想用cPickle串行器来节省时间; 如何才能做到这一点?我看到BaseManager初始化程序接受一个serializer参数,但唯一的选项似乎是picklexmlrpclib.

Ami*_*ory 2

看来你不能严格按照你的要求去做。

事实上,有一个多处理的分支,pathos ,是由 pickle 的替代品dill的创建者编写的- 也是因为控制序列化器的能力有限。

我个人建议您使用 ipython.parallel,因为它似乎更积极维护。

有关此问题的更多详细信息,请参阅这篇文章“并行性和序列化”