【发布时间】:2015-03-29 02:38:35
【问题描述】:
我们有大约 10 个 Python 进程在 Linux 机器上运行,它们都读取相同的大型数据结构(恰好是 Pandas DataFrame,本质上是一个 2D numpy 矩阵)。
这些进程必须尽快响应查询,而将数据保存在磁盘上的速度已经不足以满足我们的需求。
我们真正需要的是让所有进程能够完全随机访问内存中的数据结构,以便它们可以检索执行任意计算所需的所有元素。
由于它的大小,我们不能在内存中将数据结构复制 10 次(甚至两次)。
有没有办法让所有 10 个 Python 进程共享对内存中数据结构的随机访问?
【问题讨论】:
-
进程是只从DataFrame中读取,还是同时读取和写入(修改DataFrame)?您使用的是什么操作系统?
-
@unutbu:它们只是在读取——数据是由不同的进程写入的,并且在写入后本质上是静态的和只读的。另外,这是 Linux (Ubuntu Server 14.04)。
标签: python performance numpy pandas architecture