【发布时间】:2011-09-07 19:05:07
【问题描述】:
我有一个主 Python 进程,以及由主进程使用 os.fork() 创建的一堆或多个工人。
我需要将大量且相当复杂的数据结构从工作人员传回主进程。您会为此推荐哪些现有库?
数据结构混合了列表、字典、numpy arrays、自定义类(我可以调整)和上述的多层组合。
应避免磁盘 I/O。如果我也可以避免创建数据副本——例如通过某种共享内存解决方案——那也很好,但不是硬约束。
就本问题而言,必须使用os.fork() 或其包装器创建工作器,从而克隆主进程的地址空间。
这只需要在 Linux 上运行。
【问题讨论】:
-
"应避免磁盘 I/O。"我假设这不包括分页,在内存中的数据量增长到足以需要分页的情况下。
-
@JAB:你的假设是正确的。但是,最终的解决方案应该是明智地使用内存。
标签: python numpy fork shared-memory large-data