![]() |
1
4
直到你真的没有记忆了,想想这是浪费时间。 当您最终耗尽内存时,您将需要使用一个临时文件来存储进程所需但无法装入内存的对象。 使用腌菜或架子(参见 Data Persistence )文件中的对象。如果那个文件恰好在一个名为“scratch”的磁盘上,那就太好了。 有时出于性能原因,您希望临时文件与其他工作文件位于单独的磁盘上。在某些环境(SAN、NAS、存储阵列)中,磁盘是虚拟的,寻找“临时”磁盘没有任何性能优势。在其他环境中(即,您拥有所有硬件),您可以将临时文件放在其他驱动器上,使该驱动器成为“暂存”磁盘。 |
![]() |
2
2
仅供参考,这更多的是32位操作系统的限制,而不是Windows XP的问题。在32位vista、linux、bsd中也会遇到同样的问题……你明白了。如果你走64位的路线,你不会有这些问题。 例如,Windows XP x64允许 8 terabytes of memory per process . |
![]() |
3
1
如果你的应用程序可以处理非常大的文件, 是这样吗? 如果没有,那么我认为你可能找不到对你的应用程序有益的东西。 |
![]() |
4
1
Memory mapped files 可能是你要找的。python的实现允许您在内存中使用类似可变字符串的文件。 |
![]() |
5
1
win32 api提供了以下功能: link text . 您可以通过pywin32使用这些函数。 |
![]() |
6
1
您可以将s.lott关于使用pickle的答案(为了获得更好的性能,您应该使用cpickle)与sqllite结合起来。 sqlite内置于python 2.5及更高版本中,因此您只需导入:),然后将pickled对象作为字符串存储在其中,您将拥有一个访问数据的快速方法(与构建自己的方法相比),这将有助于保持您的组织性。 注:cpickle与使用中的pickle几乎相同。唯一的区别是它是用C写的 有用的python文档: 编辑 :最好有一个由用户控制的内存使用限制。当用户拥有8GB的RAM时,将一堆数据存储在磁盘上并等待缓慢的磁盘I/O是很遗憾的;) |
|
7
0
你可能在找佐德这样的东西。然而,尽管zodb努力做到透明,但没有任何解决方案能够100%地消除伪影。您必须在编写代码时意识到,您的对象主要存在于数据库中,但有多个对象表示、存在缓存/同步问题等。没有什么会使这个非常困难的问题对您来说完全无关紧要。 |
![]() |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
![]() |
yurnero · MATLAB:“加载”一个快速访问功能 6 年前 |
![]() |
joe · 一页可以同时在两个工作集中吗? 6 年前 |
![]() |
Jaques · “.exe”已触发断点 6 年前 |
![]() |
adn bps · 在函数中修改变量的高效内存方法 6 年前 |
![]() |
Gauraang Khurana · C语言中分段错误的不稳定行为 6 年前 |
![]() |
Rajesh K · 如何查找设备中存在的广告垃圾? 6 年前 |