原来的处理过程:
inputfile=>数组1
fun1(数组1,var 数组2);
fun2(数组2,var 数组1);
...
funN(数组1,var 数组2);
数组2=>outputfile
——各个处理函数独立,但是程序需要内存量=文件字节数x2
(当然,把数组改为文件流也行,这样,内存开销少了,但是实际的硬盘读写量多了N倍)一种办法是改为:
fun(input文件流,output文件流)
{
  while (读流得到一个小数据块)
  {
    fun1(小数据块);
    fun2(小数据块);
    ...
    funN(小数据块);
    写入文件流
  }

——这样,内存开销小了,但是各个处理函数都只是处理一小块而不是整体
(这样,实际的硬盘读写量也只是1倍了!)
不知道*nix的
cat input | fun1 | fun2 | ... | funN > output
整个过程的内存需要量是不是也input大小的x1或x2? 
——估计无解。