[阅读: 394] 2008-02-05 06:30:23
for 乱七八糟de BTer
原来的处理过程:
inputfile=>数组1
fun1(数组1,var 数组2);
fun2(数组2,var 数组1);
...
funN(数组1,var 数组2);
数组2=>outputfile
——各个处理函数独立,但是程序需要内存量=文件字节数x2
一种办法是改为:
fun(input文件流,output文件流)
{
while (读流得到一个小数据块)
{
fun1(小数据块);
fun2(小数据块);
...
funN(小数据块);
写入文件流
}
}
——这样,内存开销小了,但是各个处理函数都只是处理一小块而不是整体
不知道*nix的
cat input | fun1 | fun2 | ... | funN > output
整个过程的内存需要量是不是也input大小的x1或x2?