在多个Python进程之间共享字典的最佳方法是什么?

时间:2013-01-26 20:43:38

标签: python concurrency multiprocessing data-sharing

所有进程都会读取和写入此字典。我希望共享字典上的操作尽可能快(例如50微秒以下)。

使用multiprocessing.Manager共享字典对我来说不够快。

2 个答案:

答案 0 :(得分:1)

50μs非常宽松。

您是否可以将字典键视为存储在memcached数据存储区中?

2009年的基准比较显示python-memcache足够快 - http://amix.dk/blog/post/19471

还有dogpile.cache - http://pypi.python.org/pypi/dogpile.cache - 可以用memcached支持。

不确定从字符串转换为python对象时的速度命中率。

答案 1 :(得分:-2)

使用通常的互斥锁和锁我会想,不是吗?来自'threading'库的lock.acquire(),lock.release()API应该有帮助,http://docs.python.org/3.3/library/threading.html

但我不认为你会赢得更多的速度,因为你的设计似乎受到了限制 Python全局解释器锁(GIL)可能是这里的障碍。

我可能错了 -