Phi*_*hil 4 algorithm memory-management
我正在开发一个专门为高性能PC设计的.Net 3.5应用程序,它可以进行大量的数据操作和计算.我最近遇到了一个4000 x 5000二维对象数组的需求,这对于32位PC来说非常大,并且会给我一个OutOfMemoryException.避免使用这样的阵列的唯一方法是沿着一条充满痛苦和痛苦的非常复杂,耗时的道路走下去.
专业人员是否有任何提示或技巧来处理大型工作RAM?你知道任何有用的库(特别是.Net)吗?有没有办法强制Windows为我的进程分配更多的RAM?
编辑:我正在使用的数组将包含大多数空引用,我正在使用该数组来跟踪相邻的对象.看看它们中的大多数是空引用,我还假设有一种更有效的方法来跟踪相邻对象,找到任何给定对象的邻居等.
从你的评论来看,我想我现在可以回答你的问题了.如果大多数引用都为null,那么您可以将键散列到一个表中,该表又指向您的元素.在哈希映射中有恒定的时间O(1)循环时间,您不必担心密钥冲突,因为每个[x,y]对都是唯一的.您也不必担心内存冲突,因为大多数引用都是null.