首页 新闻 会员 周边

做数值计算或者做数值计算后处理的时候,大数据量怎么处理?

0
悬赏园豆:20 [已解决问题] 解决于 2012-09-20 17:52

比如输出的一些文本文件,动不动就上万行的。这样的数据总部可能一次性读到内存里面吧? 这种数据一般真么处理?

汪浩瀚的主页 汪浩瀚 | 初学一级 | 园豆:56
提问于:2012-09-18 15:41
< >
分享
最佳答案
1

可以一部分一部分读取处理

收获园豆:20
向往-SONG | 老鸟四级 |园豆:4853 | 2012-09-18 15:46

比如说要比较1万个数据的大小这样的事情呢????

汪浩瀚 | 园豆:56 (初学一级) | 2012-09-18 20:14

@汪浩瀚: 

一般情况上万行完全不是问题。

int count=0;

using(StreamReader sr=....){

while(!sr.BaseStream.IsEnd()){

i++;

AddToList(sr.ReadLine());

if(i==1000){

处理...

i=0;

}

}

处理剩余的...

}

....

写:

StringBuilder sb=...

using(StreamWriter sw=...){

int i=0;

for(....){

sb.Append(...);

i++;

if(i==1000){

sw.Write(sb.ToString());

sb.Clear();

}

sw.Write(sb.ToString());

}

}
向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-18 22:50
其他回答(3)
0

大化小(减少吞吐量和内存开销),多线程(充分利用CPU)

田林九村 | 园豆:2367 (老鸟四级) | 2012-09-18 15:49
0

边显示边读取,QQ的空间就是这样做的,没有翻页,根据右边的滚动条下拉多少触发加载读起

jason2013 | 园豆:1998 (小虾三级) | 2012-09-18 15:57
0

常用的数据可以缓冲

ttssrs | 园豆:82 (初学一级) | 2012-09-18 17:23

什么是缓冲?

支持(0) 反对(0) 汪浩瀚 | 园豆:56 (初学一级) | 2012-09-18 20:13

是缓存吧?

支持(0) 反对(0) itaozi | 园豆:1055 (小虾三级) | 2012-09-19 15:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册