标题:程序读取一个5M的文本,居然占用了50+M的内存……请问这是为什么?……
只看楼主
sunb3
Rank: 2
来 自:北京
等 级:论坛游民
威 望:3
帖 子:34
专家分:94
注 册:2017-4-20
得分:0 
以下是引用初学编程的人在2017-4-20 15:32:03的发言:

学习汇编吧,看看这些函数调用的时候计算机到底需要做哪些工作,学完了应该就明白了。我也是刚开始学,不想学精通只是为了对计算机有个了解。


我觉得你这个指导的有问题,因为问题点不是在这里,是在于如何做出少占用内存能处理海量数据的程序……

我现在还不太清楚怎么操作,但是从内存到硬盘也应该就是从数据到文件的过程,我只是没有思路,不知道如何让一个大文件处理变成小文件还可以排序……不过可以做做看。

我不是不明白该学什么不该学什么,另外也是市面上有太多C语言甚至更高级语言写的大数据项目了,总不能都是搞会变原理做过研究才了解过来的……再说,也不能总是遇到困难就走另一条路吧……

除了基础……我什么都不会……
2017-04-20 15:53
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:5 
一方面海量数据也总有个量,完全可以估计出来然后用数组处理(假如算法上合适的话)。
另一方面大数据一般都是静态的历史数据,而不是实时数据,所以没必要太动态了。

如果是统计性质的算法,那就读进来一个处理一个,没必要都读进来然后再处理。
如果确实需要全局地处理,那建议找专门的工具。
或者有必要的话把内存扩展到512GB也是合理要求。

[此贴子已经被作者于2017-4-20 17:18编辑过]


对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-04-20 17:08
初学编程的人
Rank: 2
等 级:论坛游民
威 望:2
帖 子:90
专家分:84
注 册:2017-3-12
得分:0 
回复 11楼 sunb3
我也是初学,遇到这种问题我会认为一些底层的操作被隐藏了,所以就往下挖掘,看看机器是如何运行的。
2017-04-20 17:14
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
你俩的兴趣点不同,其实没啥本质分歧,发展经济和环保都重要。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-04-20 17:19
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:1 
如果目的是为了练习使用特定的数据结构,那就不用在意浪费内存啥的。
如果是为了处理特定问题,那就根据问题选择合适的数据结构和算法以兼顾时间效率和空间效率。
收到的鲜花
  • sunb32017-04-21 10:52 送鲜花  1朵   附言:非常感谢您的指导和理解,我先做好基础,以 ...

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-04-20 17:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-476283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.922249 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved