komposter:
朋友们,有什么建议吗?我会处理好的)。
作为选项...
1.制作自己的缓存。 在这种情况下,你可以控制内存中的内容。 你知道算法,所以你可以使缓存有效。
2.对文件使用映射,Wind会缓存它需要的东西,而且不会擦除硬盘。
作为选项...
1.制作自己的缓存。 在这种情况下,你将能够自己管理所有的内容。
2.对文件使用映射,vin本身会缓存它需要的东西,所以它不会覆盖磁盘。
1.这是缓存...或者我不明白你的意思。我的选择是不断阅读必要的大块内容?
2.你能再详细说明一下吗?绘图将做什么,以何种方式进行?
哦,该死...
32-битные архитектуры (Intel 386, ARM 9) не могут создавать отображения длиной более 4 Гб
同样的鸡蛋,但从侧面看。阅读速度可能会加快,但并不能在全球范围内解决问题。
另一个想法是把所有的东西都移到一个数据库(MySQL?这个想法是,数据库是为这种数量和不断挖掘而设计的。
有什么专家吗?谁有话要说?
1)有什么办法可以重做算法吗?加载一个块(2GB),处理它,保存结果(更短),释放内存,加载下一个块......
并在最后将所有的结果重新处理一遍。
2)当有大量的内存工作时,基于哈希的解决方案、B-树(及其修改)、卸载到数据库都是相关的。
1)有什么办法可以重做算法吗?加载一个块(2GB),处理它,保存结果(更短),释放内存,加载下一个块......
并在最后将所有的结果重新处理一遍。
2)当有大量的内存工作时,基于哈希的解决方案、B-树(及其修改)、卸载到数据库是相关的。
1.我写过 - 你可以,但问题是你必须多次处理数据。这将是非常缓慢的。
2.明天我自己去谷歌,我会感谢简短的描述。
1.我已经写过了--你可以,但问题是你必须多次处理数据。这将是非常缓慢的。
2.明天我自己谷歌一下,如果能有一个简单的描述,我将非常感激。
我记得有一个网站 讨论了一个类似的问题和在C++中的解决方案的变种。
- www.fulcrumweb.com.ua
1.当然,要使用x64系统。
2.在亚马逊EC2云中租一台更强大的机器,在上面做计算。
3.使用压缩数据,在内存中即时解压。如果你把真实数据分成流(符号/尾数/指数),压缩效果会更好;你可以使用12位浮点数(以牺牲精度为代价)。
4.用能处理大数据的东西(Matlab/R/等)做一个非顾问的计算。
有大量的信息(大约20GB的文本文件)。
这些信息由同类的序列组成,大约有一百万个。
有必要反复 浏览所有的序列,并进行一些计算。
首先想到的是读取文件的所有内容,将其填充到结构数组中,并在内存中对其进行操作。
但它出了问题,在下一次调整大小时,MT发誓说 "内存处理程序:不能分配5610000字节的内存"。
管理员同时告诉我,terminal.exe使用了3.5GB的内存(16个物理的)。我想这是因为该进程只能得到4GB。
EA说 "内存不足( 已用4007Mb,可用88Mb,共4095Mb)!!"。
而这仅仅是所需金额的15.3%(而且我希望将来也能增加)。
选项2--每次都读取文件。找到必要的片断,将其保存到结构中,读取下一个片断,比较结果,覆盖到结构中。
如果我不得不经历一次这些序列,这就是我将做的。但你必须多次经历它们,每次都要往前移一点。
所以你要读很多遍,这就是。
这也是令人沮丧的是,有多少信息...如果是10G,我会把它移到RAM-磁盘(事实上是移到内存中),并尽可能多地读取。是吗?
这是我能想到的全部。
试着重新编译这些序列,这样就会有很多很多的碎片,但每个碎片只包含目前必要的信息?
缩减数据(我已经在任何地方用char类型转换为浮点数)?但它最多只能给我10-20%,而我需要减少一个数量级的体积......
朋友们,有什么建议吗?我将会得到它 )