课程
/后端开发
/Go
/搭建并行处理管道,感受GO语言魅力
有一点没有想明白,从程序的结构来看是将800M的数据都读到内存里才进行的排序,如果数据再大呢?会不会因为数据量大的原因导致程序崩溃呢,还是我有什么理解不对的地方,请老师解惑。
2019-11-07
源自:搭建并行处理管道,感受GO语言魅力 3-6
正在回答
如果你单机跑整个程序(你的机器内存8G,但你需要派排序的文件8.5G)这样子会导致程序因为内存空间不足导致panic,因此通过分片(分块)的方法,将大文件分子别在不同的机器上面进行处理,最终再由一个机器分别汇总结果并输出到文件。
举报
通过搭建并行数据处理管道,展示go语言在并发编程方面的优势
1 回答small.out 文件大小的问题
2 回答关于排序时间
1 回答buffer的大小
1 回答完全外部排序
2 回答关于chan的疑问