2010-12-18 104 views
4

我一直在寻找一个in-memory database - 它让我思考,Python如何处理与绑定无关的IO(甚至是数据);例如,哈希,集合等;这是一个配置的地方,还是它是基于资源动态管理的;有没有“简单”的方法来查看资源对真实程序的影响,并模拟性能冲击会成为不同的硬件设置?Python如何处理内存?

注意:如果它很重要,Redis是我正在查看的内存数据存储;有一个wrapper for Redis datatypes的实现,所以它们模仿Python中的数据类型。

回答

7

Python分配应用程序要求的所有内存。政策空间不大。唯一的问题是何时释放内存。 (C)Python立即释放所有未被引用的内存(这也是不可调的)。仅由自身引用的内存(即循环)由垃圾收集器释放;这有可调整的设置。

操作系统决定将一些内存写入页面文件。

1

不完全符合您的要求,但Dowser是一款用于交互浏览正在运行的程序的内存使用情况的Python工具。在理解内存使用和分配模式方面非常有用。

http://www.aminus.net/wiki/Dowser

+0

+1感谢,仅供参考 - 认为正确的URL是 “.NET” 不是 “.ORG”,这里是一个的工作我的网址:http://www.aminus.net/wiki/ Dowser – blunders 2010-12-18 13:19:39

+0

糟糕,抱歉。泰 – 2010-12-18 13:23:16